CSR配置字典之Chassis类
更新时间:2025/7/22
在Gitcode上查看源码

📋 文档信息

项目内容
文档标题Chassis类配置字典
版本v1.0
创建日期2025-01-27
最后更新2025-01-27
维护状态✅ 活跃维护

📋 变更历史记录

文档变更记录

版本发布日期变更类型变更内容影响范围维护人员
v1.02025-01-27初始版本创建Chassis类配置字典全新文档系统管理员

🎯 类概览

Chassis 类

属性
类名称Chassis
功能描述机框管理对象,提供机框基本信息、开箱事件监控和UID按钮事件处理功能
所属SIG组hardware
所属组件机框管理
责任人机框管理组
最后更新2025-01-27
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
NameString-String-机框名BMC接口展示"1"CSR配置软件
IntrusionACOnMixed0U8Scanner_ChassisIntrusionACOnAC上电开箱事件关联SMC开箱事件上报"<=/Scanner_ChassisIntrusionACOn.Value"硬件提供硬件
IntrusionACOffMixed0U8Scanner_ChassisIntrusionACOffAC下电开箱事件关联SMC开箱事件上报"<=/Scanner_ChassisIntrusionACOff.Value"硬件提供硬件
CoverStatusMixed0U8Scanner_ChassisCoverStatus机盖状态关联SMC开箱事件上报"<=/Scanner_ChassisCoverStatus.Value"硬件提供硬件
IntrusionACOnClearMixed0U8Accessor_ChassisIntrusionACOnClearAC上电开箱事件写清关联SMC开箱事件上报"#/Accessor_ChassisIntrusionACOnClear.Value"硬件提供硬件
IntrusionACOffClearMixed0U8Accessor_ChassisIntrusionACOffClearAC下电开箱事件写清关联SMC开箱事件上报"#/Accessor_ChassisIntrusionACOffClear.Value"硬件提供硬件
UidButtonAccessorMixed0U8Accessor_UIDButtonEventUID短按信号写清关联SMCUID状态翻转,短按UID按钮事件"#/Accessor_UIDButtonEvent.Value"硬件提供硬件
UidButtonScannerMixed0U8Scanner_UIDButtonEventUID短按信号关联SMCUID状态翻转,短按UID按钮事件"<=/Scanner_UIDButtonEvent.Value"硬件提供硬件
UidButtonLongAccessorMixed0U8Accessor_UIDButtonLongEventUID长按信号写清关联SMCUID长按事件"#/Accessor_UIDButtonLongEvent.Value"硬件提供硬件
UidButtonLongScannerMixed0U8Scanner_UIDButtonLongEventUID长按信号关联SMCUID长按事件"<=/Scanner_UIDButtonLongEvent.Value"硬件提供硬件

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
ChassisTypeU80U8-机框类型
0: RACK(机架管理)
1: X_SERIAL(高密计算节点)
2: BLADE(刀片计算节点)
3: SWITCH(交换节点)
4: MM(机框/柜外围部件)
5: CMC(机框/柜集中管理)
6: RM(机柜管理)
BMC接口展示2CSR配置软件
IntrusionFlagU80U8-BMC动态刷新,不需要配置开箱事件上报0BMC内部设置软件
UidButtonPressedU80U8-不需要配置短按UID按钮事件0BMC内部设置软件
UidButtonLongPressedU80U8-不需要配置UID长按事件0BMC内部设置软件

🔗 动态关联机制

语法规范

使用多种动态关联语法:

yaml
# Scanner关联(读取硬件状态)
IntrusionACOn: "<=/Scanner_ChassisIntrusionACOn.Value"
IntrusionACOff: "<=/Scanner_ChassisIntrusionACOff.Value"
CoverStatus: "<=/Scanner_ChassisCoverStatus.Value"
UidButtonScanner: "<=/Scanner_UIDButtonEvent.Value"
UidButtonLongScanner: "<=/Scanner_UIDButtonLongEvent.Value"

# Accessor关联(写入控制命令)
IntrusionACOnClear: "#/Accessor_ChassisIntrusionACOnClear.Value"
IntrusionACOffClear: "#/Accessor_ChassisIntrusionACOffClear.Value"
UidButtonAccessor: "#/Accessor_UIDButtonEvent.Value"
UidButtonLongAccessor: "#/Accessor_UIDButtonLongEvent.Value"

关联说明

  • Scanner关联: 用于读取硬件状态,监控开箱事件和按钮状态
  • Accessor关联: 用于写入控制命令,清除事件标志和处理按钮事件
  • 事件配对: 每个事件都有对应的Scanner(读取)和Accessor(清除)配对

📂 分类标准

硬件属性

  • 定义:与机框硬件事件和按钮直接相关的参数
  • 特点:通过SMC协议与硬件交互
  • 示例IntrusionACOn, IntrusionACOff, CoverStatus, IntrusionACOnClear, IntrusionACOffClear, UidButtonAccessor, UidButtonScanner, UidButtonLongAccessor, UidButtonLongScanner

软件属性

  • 定义:由软件管理和维护的参数
  • 特点:配置管理和状态维护
  • 示例Name, ChassisType, IntrusionFlag, UidButtonPressed, UidButtonLongPressed

📝 配置示例

标准机框配置

json
{
  "Chassis_1": {
    "Name": "1",
    "ChassisType": 2,
    "IntrusionACOn": "<=/Scanner_ChassisIntrusionACOn.Value",
    "IntrusionACOff": "<=/Scanner_ChassisIntrusionACOff.Value",
    "CoverStatus": "<=/Scanner_ChassisCoverStatus.Value",
    "IntrusionACOnClear": "#/Accessor_ChassisIntrusionACOnClear.Value",
    "IntrusionACOffClear": "#/Accessor_ChassisIntrusionACOffClear.Value",
    "UidButtonAccessor": "#/Accessor_UIDButtonEvent.Value",
    "UidButtonScanner": "<=/Scanner_UIDButtonEvent.Value",
    "UidButtonLongAccessor": "#/Accessor_UIDButtonLongEvent.Value",
    "UidButtonLongScanner": "<=/Scanner_UIDButtonLongEvent.Value"
  }
}

机架管理配置

json
{
  "Chassis_2": {
    "Name": "RackChassis",
    "ChassisType": 0,
    "IntrusionACOn": "<=/Scanner_ChassisIntrusionACOn.Value",
    "IntrusionACOff": "<=/Scanner_ChassisIntrusionACOff.Value",
    "CoverStatus": "<=/Scanner_ChassisCoverStatus.Value",
    "IntrusionACOnClear": "#/Accessor_ChassisIntrusionACOnClear.Value",
    "IntrusionACOffClear": "#/Accessor_ChassisIntrusionACOffClear.Value",
    "UidButtonAccessor": "#/Accessor_UIDButtonEvent.Value",
    "UidButtonScanner": "<=/Scanner_UIDButtonEvent.Value",
    "UidButtonLongAccessor": "#/Accessor_UIDButtonLongEvent.Value",
    "UidButtonLongScanner": "<=/Scanner_UIDButtonLongEvent.Value"
  }
}

交换节点配置

json
{
  "Chassis_3": {
    "Name": "SwitchChassis",
    "ChassisType": 3,
    "IntrusionACOn": "<=/Scanner_ChassisIntrusionACOn.Value",
    "IntrusionACOff": "<=/Scanner_ChassisIntrusionACOff.Value",
    "CoverStatus": "<=/Scanner_ChassisCoverStatus.Value",
    "IntrusionACOnClear": "#/Accessor_ChassisIntrusionACOnClear.Value",
    "IntrusionACOffClear": "#/Accessor_ChassisIntrusionACOffClear.Value",
    "UidButtonAccessor": "#/Accessor_UIDButtonEvent.Value",
    "UidButtonScanner": "<=/Scanner_UIDButtonEvent.Value",
    "UidButtonLongAccessor": "#/Accessor_UIDButtonLongEvent.Value",
    "UidButtonLongScanner": "<=/Scanner_UIDButtonLongEvent.Value"
  }
}

🔧 使用指南

配置步骤

  1. 基本信息配置:设置机框名称和类型
  2. 开箱事件配置:关联AC上电/下电开箱事件的Scanner和Accessor
  3. 机盖状态配置:关联机盖状态监控
  4. UID按钮配置:关联UID按钮的短按和长按事件
  5. SMC通信验证:确保所有关联的SMC对象正常工作

机框类型说明

  • RACK (0):机架管理,用于机架式服务器
  • X_SERIAL (1):高密计算节点,用于高密度计算场景
  • BLADE (2):刀片计算节点,用于刀片服务器
  • SWITCH (3):交换节点,用于网络交换设备
  • MM (4):机框/柜外围部件,用于外围设备管理
  • CMC (5):机框/柜集中管理,用于集中管理控制
  • RM (6):机柜管理,用于机柜级别管理

事件处理流程

  1. 开箱事件

    • Scanner监控AC上电/下电开箱状态
    • 检测到开箱事件时触发告警
    • 通过Accessor清除事件标志
  2. UID按钮事件

    • Scanner监控UID按钮状态
    • 区分短按和长按事件
    • 通过Accessor处理按钮事件

注意事项

  • SMC通信:确保所有关联的SMC对象配置正确
  • 事件配对:每个事件都需要Scanner和Accessor配对
  • 硬件依赖:确保硬件支持相应的开箱检测和按钮功能
  • 状态同步:BMC内部状态会自动更新,无需手动配置

故障排除

  1. 开箱事件无响应

    • 检查Scanner和Accessor关联是否正确
    • 确认SMC通信是否正常
    • 验证硬件开箱检测功能
  2. UID按钮无响应

    • 检查按钮事件的Scanner和Accessor配置
    • 确认硬件按钮连接正常
    • 验证SMC协议通信
  3. 机盖状态异常

    • 检查CoverStatus关联配置
    • 确认机盖传感器工作正常
    • 验证状态读取逻辑

性能优化

  • 事件处理效率:优化事件检测和处理的响应时间
  • SMC通信优化:合理配置SMC访问频率
  • 状态同步:避免频繁的状态更新操作

📚 相关文档