红鱼硬件类型的带外检查支持¶
https://bugs.launchpad.net/ironic/+bug/1668487
此提案为红鱼硬件类型增加了以 OOB 方式检查/更新硬件属性和自动创建端口的能力。
问题描述¶
节点检查会自动收集和更新节点属性。这些属性可用于将裸机节点划分为合适的资源类,这些资源类可用于 nova 调度。节点检查还会为所有发现的网卡 (NIC) 创建 ironic 端口。 redfish 硬件类型支持使用 inspector (Ironic Inspector) 进行带内检查。 DMTF 标准 Redfish 模式支持 OOB 接口,以获取 ironic 支持的大多数检查属性。通过添加对 OOB 检查的支持,可以减少内省裸机所需的时间。
提议的变更¶
此规范建议为 redfish 硬件类型添加 OOB 检查支持。它将发现 Redfish 兼容服务器支持的 ironic 节点属性和功能。这将通过增强 Sushy 库,以从裸机 BMC 上的 Redfish 控制器获取所需的属性来完成。
以下强制属性将在 redfish 硬件类型的 node.properties 中被发现和更新,如 内省规范 中所述
内存大小
CPU
CPU 架构
网卡(s) MAC 地址
磁盘
它还将实现 通用 Ironic 功能规范 中讨论的附加功能,并使用 DMTF 标准 Redfish 模式 为 redfish 硬件类型提供。
已设置的属性将在调用 inspect_hardware() 时被覆盖,但 ironic 端口除外。如果 ironic 端口已存在,则不会为该 MAC 地址创建新端口。它将负责添加以及删除网卡更改的端口,如 内省规范 中所述。并非 ironic 支持的所有功能都适用于所有符合 Redfish 标准的服务器。如果硬件中不可用某个属性,则该属性将不会作为功能添加到 node.properties 中。
在以下情况下,检查将返回失败
获取基本属性失败。
由于服务配置错误而无法获取功能。
与 Redfish 管理器的通信错误。
Sushy 变更¶
在 Sushy 库中实现 InspectInterface 方法 inspect_hardware。
备选方案¶
人们仍然可以使用 redfish 硬件类型支持的 inspector 的带内机制来发现这些属性。
数据模型影响¶
无
状态机影响¶
无
REST API 影响¶
无
客户端 (CLI) 影响¶
无
“ironic” CLI¶
无
“openstack baremetal” CLI¶
无
RPC API 影响¶
无
驱动程序 API 影响¶
无
Nova 驱动程序影响¶
无
Ramdisk 影响¶
无
安全影响¶
无
其他最终用户影响¶
通过 OOB 检查,硬件内省所需的时间将减少。
可扩展性影响¶
无
性能影响¶
无
其他部署者影响¶
通过 OOB 检查,硬件内省所需的时间将减少。
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
stendulker
- 其他贡献者
agarwalnisha1980
工作项¶
实现
InspectInterface类及其方法inspect_hardware()、validate()和get_properties()。增强 Sushy 库以发现所需的硬件属性。
依赖项¶
依赖于 Sushy 库
测试¶
将添加符合 ironic 测试要求的单元测试。
将为基于 sushy-tools 的虚拟 CI 添加检查服务器的 CI 支持。
升级和向后兼容性¶
无
文档影响¶
将更新 红鱼硬件类型 文档,以支持 OOB 检查功能。