基于社区代码开发新机型怎样才能被华为的纳管软件(SmartKit,CCAE等)纳管?

相关的疑问如下:

  1. 若后期考虑要向社区代码贡献新开发的机型代码,则新增机型的PSR中ProductUniqueID和ProductVendorID字段值是否需要在社区评审通过?
  2. 若要实现新增的机型被华为的软件纳管,需要伙伴做哪些操作?

答案内容由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 等纳管工具识别和管理,伙伴需要完成以下关键步骤:

:white_check_mark: (1)确保产品信息符合华为纳管规范

必须在 BMC 的 FRU 数据中正确填充以下字段,且符合华为定义的标准格式:

字段 要求
ManufacturerName 建议设置为 "Huawei" 或经华为认证的合作伙伴名称(需备案)。
Product Name 应遵循华为命名规范(如 Chaoqiang K620-V7 格式),便于纳管系统匹配型号。
ProductVendorID 若希望兼容华为纳管链路,建议使用华为标准 Vendor ID(如 0x00000001),或在纳管系统中预先注册自定义 ID。
ProductUniqueID 必须全局唯一,并在产品生命周期中保持不变,用于纳管系统的资产跟踪。

:pushpin: 依据bmc.kepler.Systems.FruData.Product 接口负责提供上述元数据,是纳管系统获取设备信息的主要来源。


:white_check_mark: (2)正确实现 Redfish / IPMI 接口支持

华为纳管工具依赖标准接口获取设备状态:

  • Redfish 接口:需实现 /redfish/v1/Systems/Chassis/Managers 路径下的资源模型,尤其是 Oem/Huawei 扩展属性(若存在)。
  • IPMI 命令:确保 Get Device IDGet FRU InfoGet Sensor Reading 等命令返回正确的系统信息。
  • 命令示例
    • Get Component Info(Command 90h)用于获取组件详细信息。
    • Get Product CCDB Info 用于获取 OEM 配置数据。

:warning: 若接口返回不完整或不符合预期格式,纳管软件可能无法识别设备或功能受限。


:white_check_mark: (3)配置正确的 OEM 和签名机制

  • OEM 支持:确保 BMC 固件支持华为定义的 OEM 命令扩展(如 Get iMana OEM Revision),以便纳管工具读取版本、日志等信息。
  • 签名校验配置
    • 若使用 华为签名固件(Huawei_Signature_Firmware),需确保 Firmware_Upgrade 流程支持对应的验证机制。
    • 对于切换至“伙伴模式”或“社区模式”,需注意:
      • 切换到社区模式 = 禁用签名校验
      • 切换到伙伴模式 = 替换 CA 根证书

:locked_with_key: 若启用安全启动且未配置正确 CA 证书,将无法升级华为签名包,影响纳管系统下发固件更新。


:white_check_mark: (4)向华为 CCDB 注册机型配置信息

  • CCDB(Common Configuration Database) 是华为用于存储产品配置、阈值、告警规则的中央数据库。
  • 伙伴需将新机型的 产品型号、传感器信息、告警策略、FRU 描述 等提交至 CCDB,并通过审核。
  • BMC 应支持 Get Product CCDB Info 方法,从服务器拉取并应用配置。

:white_check_mark: 只有在 CCDB 中注册的机型,SmartKit、CCAE 才能正确加载设备模板、执行健康巡检、生成报告。


:white_check_mark: (5)参与 openUBMC 社区发布与版本同步

  • 使用 stable 分支(如 br_release_openUBMC2503_20250330)作为基线开发,避免使用 main 开发分支带来的不稳定风险。
  • 定期同步社区发布的 白牌版本(White-Brand Version),确保支持最新的纳管特性。
  • 若计划贡献代码,需提交 MDS 模型变更、lua 配置脚本等,并通过 SIG 评审。

:open_file_folder: 参考文档:建议查阅《openUBMC品牌包定制指南》《安全启动流程文档》等,可通过社区请求获取。


总结

步骤 操作内容 是否必要
1 正确设置 ProductVendorIDProductUniqueID 等字段 :white_check_mark: 必要
2 通过社区评审提交 PSR 及 MDS 模型 :white_check_mark: 建议(尤其用于代码合入)
3 实现标准 Redfish / IPMI 接口 :white_check_mark: 必要
4 支持 OEM 命令与签名校验机制 :white_check_mark: 必要
5 向华为 CCDB 提交机型配置数据 :white_check_mark: 必要(否则无法被识别)
6 使用社区稳定分支开发并定期同步 :white_check_mark: 推荐

:light_bulb: 建议操作路径:

  1. 开发阶段:基于 openubmc/stable 通道构建,使用 huawei_secure_c 等安全组件。
  2. 测试阶段:使用 QEMU 模拟新机型,验证 Redfish/IPMI 输出。
  3. 注册阶段:联系华为接口人(如 PAE 或 SIG-RM)提交机型信息至 CCDB。
  4. 发布阶段:申请纳入白牌版本发布,确保可被 SmartKit 等工具识别。

如有进一步需求,建议联系华为技术支持或通过社区论坛(如 GitCode)提交议题,获取官方确认。

相关链接:

  1. 社区工程能力每日答疑纪要
  2. 怀疑希捷硬盘信息不显示与bmc版本号有关
  3. conan2.0 b编译frudata组件提示luajit相关的报错,整包编译镜像没问题
  4. 往开源组件合入代码,如何联系到committor?
  5. pcie_device | 文档中心 | openUBMC
  1. 需要

  2. 总的来说,要让基于社区代码(例如OpenStack, Kubernetes等)开发的新机型被华为的纳管软件(如SmartKit, eSight, CCE等)纳管,核心在于让新机型能够准确、标准地与华为的纳管系统进行信息交互和指令执行。这需要遵循华为制定的设备纳管规范。实现标准化的北向接口,华为的纳管软件不会为每一款特定的硬件或社区发行版做定制开发。相反,它定义了一套标准的协议和接口(即“北向接口”)。您的设备或系统需要作为一个“被管对象”,去适配和实现这些接口。