OpenBMC 驱动程序¶
https://bugs.launchpad.net/ironic/+bug/1634635
本提案涵盖了 OpenBMC 的电源和管理接口的添加,以及将驱动程序添加到 IPA 和 PXE 驱动程序类中。
注意
由于 OpenBMC 已经支持 Redfish API 接口,并且这是一个更优越的基于标准的接口,因此该规范不再被视为适用。在提出此规范时,OpenBMC 中尚未实现 Redfish API。
问题描述¶
目前,OpenBMC 并不完全支持 IPMI。相反,OpenBMC 的电源通过 RESTful 接口进行控制。此外,启动设备也可以通过此 RESTful 接口检索和设置。虽然 OpenBMC 未来可能会支持 IPMI,但推荐的交互方式将继续是其 REST API。
运行 OpenBMC 的服务器需要一个新的接口实现来控制其电源,另一个用于设置启动设备,以及一个硬件类型,该类型使用这些受支持的接口。
提议的变更¶
添加一个 OpenBMCPower() 模块,符合 base.PowerInterface。登录凭据将指定为 openbmc_address、openbmc_username 和 openbmc_password,位于节点的 driver_info 属性中。
添加一个 OpenBMCManagement() 模块,符合 base.ManagementInterface,它也使用 openbmc_address、openbmc_username 和 openbmc_password 作为登录凭据。
该模块将登录到 BMC,发出正确的命令,然后从 BMC 登出。
将添加一个硬件类型 OpenBMCHardware。此硬件类型将在其 ‘supported_power_interfaces’ 列表中包含 OpenBMCPower。此硬件类型还将在其 ‘supported_management_interfaces’ 列表中包含 OpenBMCManagement。
备选方案¶
等待 IPMI 功能被 OpenBMC 完全支持。这将允许 pxe_ipmitool 和 agent_ipmitool 驱动程序工作。
这里的缺点是它不是与 BMC 交互的推荐方法。此外,IPMI 何时完全支持尚不清楚。
数据模型影响¶
无
状态机影响¶
无
REST API 影响¶
无
客户端 (CLI) 影响¶
无
“ironic” CLI¶
无
“openstack baremetal” CLI¶
无
RPC API 影响¶
无
驱动程序 API 影响¶
无
Nova 驱动程序影响¶
无
Ramdisk 影响¶
无
安全影响¶
无
其他最终用户影响¶
无
可扩展性影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
Michael Turek (mjturek)
- 其他贡献者
Mark Hamzy (mark-hamzy)
工作项¶
实现一个新的电源接口 OpenBMCPower,符合 base.PowerInterface。
实现一个新的管理接口 OpenBMCManagement,符合 base.ManagementInterface
添加硬件类型 OpenBMCHardware,该类型将这些接口作为受支持的接口。
添加文档,详细说明接口和驱动程序的用法。
依赖项¶
此功能只能由运行 OpenBMC 的目标硬件使用。
测试¶
该功能将使用 KVM on POWER OpenStack CI 环境进行测试。
该作业将运行 ironic tempest 测试,但不会添加新的集成测试。该作业最初将针对真实硬件进行测试。
还将添加单元测试。
升级和向后兼容性¶
无
文档影响¶
将添加文档,描述新的接口以及如何使用它们。