答案内容由AI生成,仅供参考:
基于社区代码开发新机型并实现华为纳管软件纳管的说明
根据现有信息,以下是关于基于 openUBMC 社区代码开发新机型,并使其能够被华为纳管软件(如 SmartKit、CCAE 等)纳管相关问题的解答。
1. 若后期计划向社区贡献新机型代码,ProductUniqueID 和 ProductVendorID 是否需社区评审通过?
是的,ProductUniqueID 和 ProductVendorID 字段值需要在社区评审过程中进行审核和确认。
原因分析:
- ProductVendorID 是标识设备制造商的关键字段。在华为及 openUBMC 生态中,标准的 Vendor ID 如
00000001用于代表 Huawei(参考 Knowledge Graph 中Huawei实体描述)。若伙伴使用非标准 Vendor ID,可能会导致纳管系统识别异常或兼容性问题。 - ProductUniqueID 是产品的唯一标识符,在 FRU(Field Replaceable Unit)数据和 Redfish 接口中用于唯一识别硬件设备。若多个机型使用冲突或不规范的 Unique ID,可能导致纳管平台出现资源冲突、误识别等问题。
- 在 openUBMC 社区贡献流程中,新增机型的 PSR(Platform Support Request)或 MDS 模型定义通常需要经过 SIG(Special Interest Group)评审,其中包括对产品标识信息(如 Product ID、Vendor ID、Unique ID)的合规性和唯一性检查,以确保与现有生态兼容。
因此,为保证兼容性和可维护性,社区会要求对这些关键字段进行标准化定义,并在代码合入前完成评审。
2. 若要实现新增机型被华为纳管软件(SmartKit、CCAE 等)纳管,伙伴需要做哪些操作?
要使基于社区代码开发的新机型被 华为 SmartKit、CCAE、iBMA 等纳管工具识别和管理,伙伴需要完成以下关键步骤:
(1)确保产品信息符合华为纳管规范
必须在 BMC 的 FRU 数据中正确填充以下字段,且符合华为定义的标准格式:
| 字段 | 要求 |
|---|---|
ManufacturerName |
建议设置为 "Huawei" 或经华为认证的合作伙伴名称(需备案)。 |
Product Name |
应遵循华为命名规范(如 Chaoqiang K620-V7 格式),便于纳管系统匹配型号。 |
ProductVendorID |
若希望兼容华为纳管链路,建议使用华为标准 Vendor ID(如 0x00000001),或在纳管系统中预先注册自定义 ID。 |
ProductUniqueID |
必须全局唯一,并在产品生命周期中保持不变,用于纳管系统的资产跟踪。 |
依据:
bmc.kepler.Systems.FruData.Product接口负责提供上述元数据,是纳管系统获取设备信息的主要来源。
(2)正确实现 Redfish / IPMI 接口支持
华为纳管工具依赖标准接口获取设备状态:
- Redfish 接口:需实现
/redfish/v1/Systems、/Chassis、/Managers路径下的资源模型,尤其是Oem/Huawei扩展属性(若存在)。 - IPMI 命令:确保
Get Device ID、Get FRU Info、Get Sensor Reading等命令返回正确的系统信息。 - 命令示例:
Get Component Info(Command 90h)用于获取组件详细信息。Get Product CCDB Info用于获取 OEM 配置数据。
若接口返回不完整或不符合预期格式,纳管软件可能无法识别设备或功能受限。
(3)配置正确的 OEM 和签名机制
- OEM 支持:确保 BMC 固件支持华为定义的 OEM 命令扩展(如
Get iMana OEM Revision),以便纳管工具读取版本、日志等信息。 - 签名校验配置:
- 若使用 华为签名固件(Huawei_Signature_Firmware),需确保
Firmware_Upgrade流程支持对应的验证机制。 - 对于切换至“伙伴模式”或“社区模式”,需注意:
- 切换到社区模式 = 禁用签名校验
- 切换到伙伴模式 = 替换 CA 根证书
- 若使用 华为签名固件(Huawei_Signature_Firmware),需确保
若启用安全启动且未配置正确 CA 证书,将无法升级华为签名包,影响纳管系统下发固件更新。
(4)向华为 CCDB 注册机型配置信息
- CCDB(Common Configuration Database) 是华为用于存储产品配置、阈值、告警规则的中央数据库。
- 伙伴需将新机型的 产品型号、传感器信息、告警策略、FRU 描述 等提交至 CCDB,并通过审核。
- BMC 应支持
Get Product CCDB Info方法,从服务器拉取并应用配置。
只有在 CCDB 中注册的机型,SmartKit、CCAE 才能正确加载设备模板、执行健康巡检、生成报告。
(5)参与 openUBMC 社区发布与版本同步
- 使用 stable 分支(如
br_release_openUBMC2503_20250330)作为基线开发,避免使用main开发分支带来的不稳定风险。 - 定期同步社区发布的 白牌版本(White-Brand Version),确保支持最新的纳管特性。
- 若计划贡献代码,需提交 MDS 模型变更、lua 配置脚本等,并通过 SIG 评审。
参考文档:建议查阅《openUBMC品牌包定制指南》《安全启动流程文档》等,可通过社区请求获取。
总结
| 步骤 | 操作内容 | 是否必要 |
|---|---|---|
| 1 | 正确设置 ProductVendorID、ProductUniqueID 等字段 |
|
| 2 | 通过社区评审提交 PSR 及 MDS 模型 | |
| 3 | 实现标准 Redfish / IPMI 接口 | |
| 4 | 支持 OEM 命令与签名校验机制 | |
| 5 | 向华为 CCDB 提交机型配置数据 | |
| 6 | 使用社区稳定分支开发并定期同步 |
建议操作路径:
- 开发阶段:基于
openubmc/stable通道构建,使用huawei_secure_c等安全组件。 - 测试阶段:使用 QEMU 模拟新机型,验证 Redfish/IPMI 输出。
- 注册阶段:联系华为接口人(如 PAE 或 SIG-RM)提交机型信息至 CCDB。
- 发布阶段:申请纳入白牌版本发布,确保可被 SmartKit 等工具识别。
如有进一步需求,建议联系华为技术支持或通过社区论坛(如 GitCode)提交议题,获取官方确认。
相关链接: