红鱼硬件类型redfish的带外检查支持

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地址创建新的端口。它将负责添加以及删除NIC更改的端口,如内省规范中所述。并非所有Redfish兼容服务器都支持ironic支持的所有功能。如果硬件中不可用某个属性,则该属性将不会作为功能添加到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测试要求的单元测试。

  • 将为检查服务器添加CI支持,基于sushy-tools的虚拟CI。

升级和向后兼容性

文档影响

红鱼硬件类型文档将更新为OOB检查功能。

参考资料