CSR配置字典之Chassis类
更新时间:2025/7/22
在Gitcode上查看源码📋 文档信息
项目 | 内容 |
---|---|
文档标题 | Chassis类配置字典 |
版本 | v1.0 |
创建日期 | 2025-01-27 |
最后更新 | 2025-01-27 |
维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
---|---|---|---|---|---|
v1.0 | 2025-01-27 | 初始版本 | 创建Chassis类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
Chassis 类
属性 | 值 |
---|---|
类名称 | Chassis |
功能描述 | 机框管理对象,提供机框基本信息、开箱事件监控和UID按钮事件处理功能 |
所属SIG组 | hardware |
所属组件 | 机框管理 |
责任人 | 机框管理组 |
最后更新 | 2025-01-27 |
状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
Name | String | - | String | - | 机框名 | BMC接口展示 | "1" | CSR配置 | 软件 |
IntrusionACOn | Mixed | 0 | U8 | Scanner_ChassisIntrusionACOn | AC上电开箱事件关联SMC | 开箱事件上报 | "<=/Scanner_ChassisIntrusionACOn.Value" | 硬件提供 | 硬件 |
IntrusionACOff | Mixed | 0 | U8 | Scanner_ChassisIntrusionACOff | AC下电开箱事件关联SMC | 开箱事件上报 | "<=/Scanner_ChassisIntrusionACOff.Value" | 硬件提供 | 硬件 |
CoverStatus | Mixed | 0 | U8 | Scanner_ChassisCoverStatus | 机盖状态关联SMC | 开箱事件上报 | "<=/Scanner_ChassisCoverStatus.Value" | 硬件提供 | 硬件 |
IntrusionACOnClear | Mixed | 0 | U8 | Accessor_ChassisIntrusionACOnClear | AC上电开箱事件写清关联SMC | 开箱事件上报 | "#/Accessor_ChassisIntrusionACOnClear.Value" | 硬件提供 | 硬件 |
IntrusionACOffClear | Mixed | 0 | U8 | Accessor_ChassisIntrusionACOffClear | AC下电开箱事件写清关联SMC | 开箱事件上报 | "#/Accessor_ChassisIntrusionACOffClear.Value" | 硬件提供 | 硬件 |
UidButtonAccessor | Mixed | 0 | U8 | Accessor_UIDButtonEvent | UID短按信号写清关联SMC | UID状态翻转,短按UID按钮事件 | "#/Accessor_UIDButtonEvent.Value" | 硬件提供 | 硬件 |
UidButtonScanner | Mixed | 0 | U8 | Scanner_UIDButtonEvent | UID短按信号关联SMC | UID状态翻转,短按UID按钮事件 | "<=/Scanner_UIDButtonEvent.Value" | 硬件提供 | 硬件 |
UidButtonLongAccessor | Mixed | 0 | U8 | Accessor_UIDButtonLongEvent | UID长按信号写清关联SMC | UID长按事件 | "#/Accessor_UIDButtonLongEvent.Value" | 硬件提供 | 硬件 |
UidButtonLongScanner | Mixed | 0 | U8 | Scanner_UIDButtonLongEvent | UID长按信号关联SMC | UID长按事件 | "<=/Scanner_UIDButtonLongEvent.Value" | 硬件提供 | 硬件 |
可选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
ChassisType | U8 | 0 | U8 | - | 机框类型 0: RACK(机架管理) 1: X_SERIAL(高密计算节点) 2: BLADE(刀片计算节点) 3: SWITCH(交换节点) 4: MM(机框/柜外围部件) 5: CMC(机框/柜集中管理) 6: RM(机柜管理) | BMC接口展示 | 2 | CSR配置 | 软件 |
IntrusionFlag | U8 | 0 | U8 | - | BMC动态刷新,不需要配置 | 开箱事件上报 | 0 | BMC内部设置 | 软件 |
UidButtonPressed | U8 | 0 | U8 | - | 不需要配置 | 短按UID按钮事件 | 0 | BMC内部设置 | 软件 |
UidButtonLongPressed | U8 | 0 | U8 | - | 不需要配置 | UID长按事件 | 0 | BMC内部设置 | 软件 |
🔗 动态关联机制
语法规范
使用多种动态关联语法:
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"
}
}
🔧 使用指南
配置步骤
- 基本信息配置:设置机框名称和类型
- 开箱事件配置:关联AC上电/下电开箱事件的Scanner和Accessor
- 机盖状态配置:关联机盖状态监控
- UID按钮配置:关联UID按钮的短按和长按事件
- SMC通信验证:确保所有关联的SMC对象正常工作
机框类型说明
- RACK (0):机架管理,用于机架式服务器
- X_SERIAL (1):高密计算节点,用于高密度计算场景
- BLADE (2):刀片计算节点,用于刀片服务器
- SWITCH (3):交换节点,用于网络交换设备
- MM (4):机框/柜外围部件,用于外围设备管理
- CMC (5):机框/柜集中管理,用于集中管理控制
- RM (6):机柜管理,用于机柜级别管理
事件处理流程
开箱事件:
- Scanner监控AC上电/下电开箱状态
- 检测到开箱事件时触发告警
- 通过Accessor清除事件标志
UID按钮事件:
- Scanner监控UID按钮状态
- 区分短按和长按事件
- 通过Accessor处理按钮事件
注意事项
- SMC通信:确保所有关联的SMC对象配置正确
- 事件配对:每个事件都需要Scanner和Accessor配对
- 硬件依赖:确保硬件支持相应的开箱检测和按钮功能
- 状态同步:BMC内部状态会自动更新,无需手动配置
故障排除
开箱事件无响应:
- 检查Scanner和Accessor关联是否正确
- 确认SMC通信是否正常
- 验证硬件开箱检测功能
UID按钮无响应:
- 检查按钮事件的Scanner和Accessor配置
- 确认硬件按钮连接正常
- 验证SMC协议通信
机盖状态异常:
- 检查CoverStatus关联配置
- 确认机盖传感器工作正常
- 验证状态读取逻辑
性能优化
- 事件处理效率:优化事件检测和处理的响应时间
- SMC通信优化:合理配置SMC访问频率
- 状态同步:避免频繁的状态更新操作