CSR配置字典之Product类
更新时间:2025/7/29
在Gitcode上查看源码📋 文档信息
项目 | 内容 |
---|---|
文档标题 | Product类配置字典 |
版本 | v1.0 |
创建日期 | 2025-07-29 |
最后更新 | 2025-07-29 |
维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
---|---|---|---|---|---|
v1.0 | 2025-07-29 | 初始版本 | 创建Product类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
Product 类
属性 | 值 |
---|---|
类名称 | Product |
功能描述 | 产品信息对象,提供整机产品的基本信息、标识信息和展示信息,用于Web展示和固件升级 |
所属SIG组 | interface |
所属组件 | product_mgmt |
最后更新 | 2025-07-29 |
状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
ProductName | String | - | String | - | 整机产品名称,与PDM 0305编码保持一致 | 用于Web展示 | "S920X20" | CSR配置 | 软件 |
ProductAlias | String | - | String | - | 产品别名,当前有使用(/redfish/v1/SystemOverview、/UI/Rest/Overview) | 用于Web展示 | "VF" | CSR配置 | 软件 |
ProductPicture | String | - | String | - | 产品图片名称,软件配置 | 用于Web展示 | "img_01" | CSR配置 | 软件 |
ProductUniqueID | String | - | String | - | 产品唯一识别ID,BMC提供统一表格维护 | 用于固件升级 | "0x0207be00" | CSR配置 | 软件 |
ProductVendorID | String | - | String | - | 产品厂商ID,结合ProductUniqueID使用 | 用于固件升级 | "0xffffffff" | CSR配置 | 软件 |
可选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
DefaultProductAlias | String | - | String | - | 默认产品别名,当前未使用 | 暂无 | "VF" | CSR配置 | 软件 |
ProductId | U32 | - | U32 | - | 产品ID,机架类统一为0,当前未使用 | 用于固件升级 | 0 | CSR配置 | 软件 |
ProductVersion | String | - | String | - | 产品版本,当前未使用 | 用于Web展示 | "V6" | CSR配置 | 软件 |
DeviceOwnerId | String | - | String | FruData_Fru0 | 产品序列号,标准电子标签从EEPROM读取,非标由接口进行更新 | 用于IPMI命令 | "<=/FruData_Fru0.ProductSerialNumber" | 组件更新 | 硬件 |
DeviceSerialNumber | String | - | String | FruData_Fru0 | 产品序列号 系统序列号,标准电子标签从EEPROM读取,非标由接口进行更新 | 暂无 | "<=/FruData_Fru0.SystemSerialNumber" | 组件更新 | 硬件 |
DeviceName | String | - | String | FruData_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"
}
}
🔧 使用指南
配置步骤
- 产品名称配置:设置ProductName,与PDM 0305编码保持一致
- 产品别名配置:设置ProductAlias,用于Web展示
- 产品图片配置:设置ProductPicture,指定产品图片文件名
- 产品标识配置:设置ProductUniqueID和ProductVendorID,用于固件升级
- FRU数据关联:配置DeviceOwnerId、DeviceSerialNumber、DeviceName关联FRU数据
- 可选信息配置:根据需要配置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对象存在且正确配置
故障排除
产品信息显示异常:
- 检查ProductName、ProductAlias是否正确配置
- 确认ProductPicture指定的图片文件是否存在
- 验证FRU数据关联是否正确
固件升级识别失败:
- 检查ProductUniqueID和ProductVendorID是否正确
- 确认产品ID是否符合规范
- 验证BMC产品ID表格是否正确维护
序列号获取失败:
- 检查FruData_Fru0对象是否存在
- 确认EEPROM数据是否正确写入
- 验证FRU数据读取是否正常
性能优化
- 信息缓存: 合理缓存产品信息,减少重复读取
- FRU读取: 优化FRU数据读取频率和机制
- 图片加载: 优化产品图片加载和显示机制