华为 iBMC 驱动程序

https://storyboard.openstack.org/#!/story/2004635

本规范建议添加新的接口,为华为 iBMC 2288H V5、CH121 V5 系列服务器提供 Ironic 支持。

问题描述

华为智能基板管理系统 (iBMC) 是一种嵌入式服务器管理系统,用于管理服务器的整个生命周期。它提供了一系列管理工具,用于硬件状态监控、部署、节能和安全保护。

除了使用 IPMI 协议管理节点外,本规范还建议添加硬件类型和接口,以使用 iBMC REST API 管理华为服务器。

提议的变更

将添加名为 ibmc 的新硬件类型作为此更改的一部分。将为 ibmc 硬件实现新的电源、管理和厂商接口。

这些接口使用 iBMC REST API 与 iBMC 通信。使用的接口包括

  • iBMC.IBMCPower 用于电源操作

  • iBMC.IBMCManagement 用于管理操作

  • iBMC.IBMCVendor 用于厂商特定操作

  • 电源

    此功能允许用户通过电源接口打开/关闭节点或重启节点,进而调用 iBMC REST API。

  • 管理

    此功能允许用户获取和设置华为服务器的主启动设备,以及获取支持的启动设备。

  • 厂商

    此功能允许用户执行厂商特定操作。例如,查询华为服务器的启动顺序。

$ openstack baremetal node passthru call --http-method GET \
  <node id or node name> boot_up_seq
$ ["Pxe", "Hdd", "Cd", "Others"]

备选方案

数据模型影响

RPC API 影响

状态机影响

REST API 影响

客户端 (CLI) 影响

驱动程序 API 影响

Nova 驱动程序影响

安全影响

其他最终用户影响

可扩展性影响

性能影响

Ramdisk 影响

其他部署者影响

在将节点注册到 Ironic 时,需要以下 driver_info 字段:

  • ibmc_address: iBMC 控制器的 URL 地址,例如:https://example.com

  • ibmc_username: 具有管理员/服务器配置权限的用户帐户

  • ibmc_password: 用户帐户密码

  • ibmc_verify_ca(可选): 是否验证主机证书或证书文件或目录的路径,其中包含受信任的证书

开发人员影响

实现

负责人

主要负责人

其他贡献者

工作项

  • 添加新的 iBMC 硬件类型,并添加电源、管理和厂商的新接口。

  • 编写适当的单元测试,为 iBMC 驱动程序提供测试覆盖率。

  • 编写配置文档。

  • 构建第三方 CI。

依赖项

  • 使用 python-ibmcclient 库(未发布)与 HUAWEI iBMC REST API 通信。

测试

  • 将为新的 iBMC 驱动程序实现单元测试。

  • 将提供第三方 CI。

升级和向后兼容性

文档影响

  • 更新 Ironic 文档的 启用 驱动程序 部分,添加 iBMC 相关说明。

参考资料