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

📋 文档信息

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

📋 变更历史记录

文档变更记录

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

🎯 类概览

ChassisBMC 类

属性
类名称ChassisBMC
功能描述用于描述整机信息的BMC对象,提供BMC的基本信息、版本信息和标识信息,主要用于BMC接口展示
所属SIG组system
所属组件BMC信息
责任人系统管理组
最后更新2025-01-27
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
NodeIdString-String-容器信息Position和设备丝印名称DeviceName拼接而成BMC接口展示"chassisBMC"CSR配置软件
DescriptionString-String-单板描述BMC接口展示"BMC"CSR配置软件
NumberU8-U8-逻辑编号BMC接口展示0CSR配置软件
DeviceNameString-String-板卡丝印信息BMC接口展示"BMC"CSR配置软件
TypeString-String-组件类型BMC接口展示"BMC"CSR配置软件
PositionString-String-容器信息BMC接口展示"chassis"CSR配置软件
ManufacturerString-StringFruData_Fru0厂商BMC接口展示"<=/FruData_Fru0.BoardManufacturer"CSR配置软件
PartNumberString-StringFruData_Fru0部件编码BMC接口展示"<=/FruData_Fru0.BoardPartNumber"CSR配置软件
PcbVersionString-StringFru_PSRPCB版本号BMC接口展示"<=/Fru_PSR.PcbVersion"CSR配置软件
NameString-String-单板名BMC接口展示"BC83PRUWB"CSR配置软件
BoardIDU16-U16-单板IDBMC接口展示65535CSR配置软件
FruIDU8-U8FruData_Fru0关联Fru对象的FruID属性BMC接口展示"<=/FruData_Fru0.FruId"CSR配置软件
BoardTypeString-String-单板类型BMC接口展示"BMC"CSR配置软件
UIDString-String-单板UID
vendor(00000001)+单板类型(02)+单板编码(0302031825)
BMC接口展示"000000010402314ULN"CSR配置软件

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
LogicUnitU32-U32-逻辑位号BMC接口展示0CSR配置软件

🔗 动态关联机制

语法规范

使用标准配置语法和FRU数据关联:

yaml
# 基础信息配置
NodeId: "chassisBMC"
Description: "BMC"
Number: 0
DeviceName: "BMC"
Type: "BMC"
Position: "chassis"

# 厂商信息(FRU数据关联)
Manufacturer: "<=/FruData_Fru0.BoardManufacturer"
PartNumber: "<=/FruData_Fru0.BoardPartNumber"
PcbVersion: "<=/Fru_PSR.PcbVersion"
FruID: "<=/FruData_Fru0.FruId"

# 单板信息
Name: "BC83PRUWB"
BoardID: 65535
BoardType: "BMC"
UID: "000000010402314ULN"

# 可选配置
LogicUnit: 0

关联说明

  • FRU数据关联: Manufacturer、PartNumber、FruID通过FruData_Fru0对象获取
  • 版本信息关联: PcbVersion通过Fru_PSR对象获取
  • 标识信息: NodeId、UID等用于唯一标识BMC
  • 展示信息: 所有属性用于BMC接口展示

📂 分类标准

硬件属性

  • 定义:当前版本无硬件属性
  • 特点:所有属性都是软件管理相关
  • 示例:无

软件属性

  • 定义:由软件管理和维护的BMC信息参数
  • 特点:标识信息、版本信息、展示信息等
  • 示例:所有属性都是软件属性

📝 配置示例

基础BMC信息配置

json
{
  "ChassisBMC_Basic": {
    "NodeId": "chassisBMC",
    "Description": "BMC",
    "Number": 0,
    "DeviceName": "BMC",
    "Type": "BMC",
    "Position": "chassis",
    "Manufacturer": "<=/FruData_Fru0.BoardManufacturer",
    "PartNumber": "<=/FruData_Fru0.BoardPartNumber",
    "PcbVersion": "<=/Fru_PSR.PcbVersion",
    "Name": "BC83PRUWB",
    "BoardID": 65535,
    "FruID": "<=/FruData_Fru0.FruId",
    "BoardType": "BMC",
    "UID": "000000010402314ULN"
  }
}

完整BMC信息配置

json
{
  "ChassisBMC_Full": {
    "NodeId": "chassisBMC",
    "Description": "BMC",
    "Number": 0,
    "DeviceName": "BMC",
    "Type": "BMC",
    "Position": "chassis",
    "Manufacturer": "<=/FruData_Fru0.BoardManufacturer",
    "PartNumber": "<=/FruData_Fru0.BoardPartNumber",
    "LogicUnit": 0,
    "PcbVersion": "<=/Fru_PSR.PcbVersion",
    "Name": "BC83PRUWB",
    "BoardID": 65535,
    "FruID": "<=/FruData_Fru0.FruId",
    "BoardType": "BMC",
    "UID": "000000010402314ULN"
  }
}

天池组件BMC配置

json
{
  "ChassisBMC_Tianchi": {
    "NodeId": "chassisBMC",
    "Description": "BMC",
    "Number": 0,
    "DeviceName": "BMC",
    "Type": "BMC",
    "Position": "chassis",
    "Manufacturer": "<=/FruData_Fru0.BoardManufacturer",
    "PartNumber": "<=/FruData_Fru0.BoardPartNumber",
    "LogicUnit": 0,
    "PcbVersion": "<=/Fru_PSR.PcbVersion",
    "Name": "BC83PRUWB",
    "BoardID": 65535,
    "FruID": "<=/FruData_Fru0.FruId",
    "BoardType": "BMC",
    "UID": "000000010402314ULN"
  }
}

自定义BMC配置

json
{
  "ChassisBMC_Custom": {
    "NodeId": "chassisBMC",
    "Description": "Custom BMC",
    "Number": 0,
    "DeviceName": "CustomBMC",
    "Type": "BMC",
    "Position": "chassis",
    "Manufacturer": "<=/FruData_Fru0.BoardManufacturer",
    "PartNumber": "<=/FruData_Fru0.BoardPartNumber",
    "LogicUnit": 0,
    "PcbVersion": "<=/Fru_PSR.PcbVersion",
    "Name": "CustomBMCBoard",
    "BoardID": 65535,
    "FruID": "<=/FruData_Fru0.FruId",
    "BoardType": "BMC",
    "UID": "000000010402314ABC"
  }
}

🔧 使用指南

配置步骤

  1. 基础信息配置:设置NodeId、Description、DeviceName等基本信息
  2. 标识信息配置:设置Number、Type、Position等标识信息
  3. FRU数据关联:配置Manufacturer、PartNumber、FruID等FRU关联
  4. 版本信息配置:设置PcbVersion、Name等版本信息
  5. 单板信息配置:设置BoardID、BoardType、UID等单板信息
  6. 可选配置:根据需要配置LogicUnit等可选属性

标识信息管理

  • NodeId: 节点标识,通常为"chassisBMC"
  • UID: 单板唯一标识,格式为vendor+单板类型+单板编码
  • BoardID: 单板ID,通常为65535
  • Number: 逻辑编号,通常为0

UID编码规范

  • Vendor: 厂商标识,如00000001(华为)
  • 单板类型: 2位十六进制,如04表示BMC
  • 单板编码: 10位十六进制,唯一标识单板
  • 完整格式: vendor(8位) + 单板类型(2位) + 单板编码(10位)

FRU数据集成

  • Manufacturer: 通过FruData_Fru0.BoardManufacturer获取厂商信息
  • PartNumber: 通过FruData_Fru0.BoardPartNumber获取部件编号
  • FruID: 通过FruData_Fru0.FruId获取FRU ID
  • PcbVersion: 通过Fru_PSR.PcbVersion获取PCB版本

天池组件说明

  • 统一配置: 天池组件都使用相同的配置模板
  • 工具自动化: 工具后面会自动带出相关配置
  • 标准化: 确保配置的一致性和标准化

使用场景

  • BMC接口展示: 所有属性用于BMC接口展示
  • 系统识别: 通过UID和NodeId识别BMC
  • 版本管理: 通过版本信息管理BMC版本
  • FRU管理: 通过FRU关联管理硬件信息

注意事项

  • UID唯一性: 确保UID在系统中唯一
  • FRU关联: 确保FRU对象存在且正确配置
  • 版本信息: 确保版本信息准确反映硬件状态
  • 标识一致: 确保各种标识信息的一致性

故障排除

  1. 信息显示异常

    • 检查FRU数据关联是否正确
    • 确认FruData_Fru0和Fru_PSR对象是否存在
    • 验证属性配置是否正确
  2. UID冲突

    • 检查UID是否在系统中唯一
    • 确认UID编码格式是否正确
    • 验证单板编码是否重复
  3. 版本信息错误

    • 检查PcbVersion关联是否正确
    • 确认Fru_PSR对象是否正确配置
    • 验证版本信息来源是否可靠

性能优化

  • 信息缓存: 缓存BMC信息,减少重复读取
  • FRU优化: 优化FRU数据读取频率
  • 接口优化: 优化BMC接口的响应速度

📚 相关文档