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

📋 文档信息

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

📋 变更历史记录

文档变更记录

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

🎯 类概览

Product 类

属性
类名称Product
功能描述产品信息对象,提供整机产品的基本信息、标识信息和展示信息,用于Web展示和固件升级
所属SIG组interface
所属组件product_mgmt
最后更新2025-07-29
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
ProductNameString-String-整机产品名称,与PDM 0305编码保持一致用于Web展示"S920X20"CSR配置软件
ProductAliasString-String-产品别名,当前有使用(/redfish/v1/SystemOverview、/UI/Rest/Overview)用于Web展示"VF"CSR配置软件
ProductPictureString-String-产品图片名称,软件配置用于Web展示"img_01"CSR配置软件
ProductUniqueIDString-String-产品唯一识别ID,BMC提供统一表格维护用于固件升级"0x0207be00"CSR配置软件
ProductVendorIDString-String-产品厂商ID,结合ProductUniqueID使用用于固件升级"0xffffffff"CSR配置软件

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
DefaultProductAliasString-String-默认产品别名,当前未使用暂无"VF"CSR配置软件
ProductIdU32-U32-产品ID,机架类统一为0,当前未使用用于固件升级0CSR配置软件
ProductVersionString-String-产品版本,当前未使用用于Web展示"V6"CSR配置软件
DeviceOwnerIdString-StringFruData_Fru0产品序列号,标准电子标签从EEPROM读取,非标由接口进行更新用于IPMI命令"<=/FruData_Fru0.ProductSerialNumber"组件更新硬件
DeviceSerialNumberString-StringFruData_Fru0产品序列号
系统序列号,标准电子标签从EEPROM读取,非标由接口进行更新
暂无"<=/FruData_Fru0.SystemSerialNumber"组件更新硬件
DeviceNameString-StringFruData_Fru0系统产品名称,标准电子标签从EEPROM读取,非标由接口进行更新暂无"<=/FruData_Fru0.SystemProductName"组件更新硬件

🔗 动态关联机制

语法规范

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

yaml
# 基础产品信息
ProductName: "S920X20"
ProductAlias: "VF"
ProductPicture: "img_01"

# 产品标识信息
ProductUniqueID: "0x0207be00"
ProductVendorID: "0xffffffff"
ProductId: 0

# FRU数据关联
DeviceOwnerId: "<=/FruData_Fru0.ProductSerialNumber"
DeviceSerialNumber: "<=/FruData_Fru0.SystemSerialNumber"
DeviceName: "<=/FruData_Fru0.SystemProductName"

# 可选配置
DefaultProductAlias: "VF"
ProductVersion: "V6"

关联说明

  • FRU数据关联: DeviceOwnerId、DeviceSerialNumber、DeviceName通过FruData_Fru0对象获取
  • 产品标识: ProductUniqueID和ProductVendorID组合用于固件升级识别
  • Web展示: ProductName、ProductAlias、ProductPicture用于Web界面展示

📂 分类标准

硬件属性

  • 定义:从硬件EEPROM读取或与硬件相关的产品信息
  • 特点:序列号、设备名称等物理标识信息
  • 示例DeviceOwnerId, DeviceSerialNumber, DeviceName

软件属性

  • 定义:由软件配置和管理的产品信息参数
  • 特点:产品名称、别名、图片、版本等配置信息
  • 示例ProductName, ProductAlias, DefaultProductAlias, ProductPicture, ProductUniqueID, ProductVendorID, ProductId, ProductVersion

📝 配置示例

基础产品信息配置

json
{
  "Product_PSR": {
    "ProductName": "S920X20",
    "ProductAlias": "VF",
    "ProductPicture": "img_01",
    "ProductUniqueID": "0x0207be00",
    "ProductVendorID": "0xffffffff"
  }
}

完整产品信息配置

json
{
  "Product_Full": {
    "ProductName": "S920X20",
    "ProductAlias": "VF",
    "DefaultProductAlias": "VF",
    "ProductPicture": "img_01",
    "ProductUniqueID": "0x0207be00",
    "ProductVendorID": "0xffffffff",
    "ProductId": 0,
    "ProductVersion": "V6",
    "DeviceOwnerId": "<=/FruData_Fru0.ProductSerialNumber",
    "DeviceSerialNumber": "<=/FruData_Fru0.SystemSerialNumber",
    "DeviceName": "<=/FruData_Fru0.SystemProductName"
  }
}

机架服务器产品配置

json
{
  "Product_Rack": {
    "ProductName": "2288H V5",
    "ProductAlias": "2288H",
    "ProductPicture": "img_2288h",
    "ProductUniqueID": "0x0207be01",
    "ProductVendorID": "0xffffffff",
    "ProductId": 0,
    "ProductVersion": "V5",
    "DeviceOwnerId": "<=/FruData_Fru0.ProductSerialNumber",
    "DeviceSerialNumber": "<=/FruData_Fru0.SystemSerialNumber",
    "DeviceName": "<=/FruData_Fru0.SystemProductName"
  }
}

刀片服务器产品配置

json
{
  "Product_Blade": {
    "ProductName": "CH121 V5",
    "ProductAlias": "CH121",
    "ProductPicture": "img_ch121",
    "ProductUniqueID": "0x0207be02",
    "ProductVendorID": "0xffffffff",
    "ProductId": 0,
    "ProductVersion": "V5",
    "DeviceOwnerId": "<=/FruData_Fru0.ProductSerialNumber",
    "DeviceSerialNumber": "<=/FruData_Fru0.SystemSerialNumber",
    "DeviceName": "<=/FruData_Fru0.SystemProductName"
  }
}

🔧 使用指南

配置步骤

  1. 产品名称配置:设置ProductName,与PDM 0305编码保持一致
  2. 产品别名配置:设置ProductAlias,用于Web展示
  3. 产品图片配置:设置ProductPicture,指定产品图片文件名
  4. 产品标识配置:设置ProductUniqueID和ProductVendorID,用于固件升级
  5. FRU数据关联:配置DeviceOwnerId、DeviceSerialNumber、DeviceName关联FRU数据
  6. 可选信息配置:根据需要配置ProductVersion等可选属性

产品标识规范

  • ProductUniqueID: 产品唯一识别ID,十六进制格式,如0x0207be00
  • ProductVendorID: 产品厂商ID,通常为0xffffffff
  • ProductId: 产品ID,机架类统一为0
  • 组合使用: ProductUniqueID和ProductVendorID组合用于固件升级识别

PDM编码对应

  • ProductName: 必须与PDM 0305编码保持一致
  • 命名规范: 遵循产品型号命名规范,如S920X20、2288H V5等
  • 版本管理: 通过ProductVersion区分不同版本

Web展示配置

  • ProductAlias: 用于/redfish/v1/SystemOverview、/UI/Rest/Overview接口
  • ProductPicture: 产品图片文件名,放置在指定目录
  • ProductName: 用于Web界面的产品名称展示

FRU数据集成

  • DeviceOwnerId: 关联产品序列号,用于IPMI命令
  • DeviceSerialNumber: 关联系统序列号,用于设备标识
  • DeviceName: 关联系统产品名称,用于设备识别

注意事项

  • 编码一致性: 确保ProductName与PDM 0305编码一致
  • ID唯一性: 确保ProductUniqueID在系统中唯一
  • 图片文件: 确保ProductPicture指定的图片文件存在
  • FRU关联: 确保FruData_Fru0对象存在且正确配置

故障排除

  1. 产品信息显示异常

    • 检查ProductName、ProductAlias是否正确配置
    • 确认ProductPicture指定的图片文件是否存在
    • 验证FRU数据关联是否正确
  2. 固件升级识别失败

    • 检查ProductUniqueID和ProductVendorID是否正确
    • 确认产品ID是否符合规范
    • 验证BMC产品ID表格是否正确维护
  3. 序列号获取失败

    • 检查FruData_Fru0对象是否存在
    • 确认EEPROM数据是否正确写入
    • 验证FRU数据读取是否正常

性能优化

  • 信息缓存: 合理缓存产品信息,减少重复读取
  • FRU读取: 优化FRU数据读取频率和机制
  • 图片加载: 优化产品图片加载和显示机制

📚 相关文档