iRMC 管理驱动程序 for Ironic¶
https://blueprints.launchpad.net/ironic/+spec/irmc-management-driver
该提案介绍了在 Ironic 中添加对 FUJITSU PRIMERGY iRMC(集成远程管理控制器)的管理标准接口支持所需的工作。
问题描述¶
FUJITSU PRIMERGY iRMC 允许 IPMI 获取/设置启动模式,无论是传统 BIOS 还是 UEFI,并允许 SCCI 获取传感器数据。但是,当前的 Ironic 标准管理模块 ipmitool.IPMIManagement 无法利用 iRMC 的功能。
提议的变更¶
该模块继承自 ipmitool.IPMIManagement,并为了利用 iRMC IPMI 启动模式获取/设置功能和 SCCI 获取传感器数据,覆盖了以下两个函数:pxe_irmc、iscsi_irmc 和 agent_irmc [1]。
当 Ironic 管理接口中的启动模式设置/获取接口标准化时,此模块将被重构。
set_boot_device() - 如果在 Ironic 节点的属性字段的 capabilities 参数中指定了 ‘boot_mode:uefi’,则此函数将向 iRMC 发送 IPMI 设置系统启动选项命令,在参数选择器 5 中设置 data1 的第 5 位,BIOS 启动类型为 UEFI。否则,此函数将默认调用父类函数 ipmitool.IPMIManagement.set_boot_device()。
get_sensors_data() - 如果在 ironic 配置文件中的 [irmc] 部分指定了可选参数 ‘sensor_method=scci’,则此函数将通过 iRMC SCCI 获取传感器数据,该数据不仅返回标准数据,还返回供应商特定的传感器数据。iRMC SCCI 使用 python-scciclient 包。否则,如果可选参数是默认值 ‘sensor_method=ipmitool’,则此函数将默认调用父类函数 ipmitool.IPMIManagement.get_sensors_data()。
备选方案¶
如果需要以 UEFI 模式自动启动裸机节点,则没有替代方案。
IPMI 管理模块只能在部署者手动将裸机节点的启动模式设置为 UEFI 时使用。
数据模型影响¶
无
REST API 影响¶
无
RPC API 影响¶
无
驱动程序 API 影响¶
无
Nova 驱动程序影响¶
无
安全影响¶
管理员凭据将以未加密的形式存储在数据库中,并在发出 node-show 命令时显示在节点的 driver_info 字段中。但是,只有 ironic 管理员用户才能访问 Ironic 数据库和节点详细信息。
其他最终用户影响¶
无
可扩展性影响¶
无
性能影响¶
无
其他部署者影响¶
为了使用 iRMC 驱动程序,需要 iRMC S4 及更高版本。如果 iRMC 版本无效,将通过错误消息通知部署者。
驱动程序信息字段和 ironic 配置文件中的 [irmc] 部分参数是必需的,这些参数在 iRMC Power Driver for Ironic 中指定。
可以使用以下命令将启动模式设置为 BIOS 或 UEFI,如 裸机服务安装指南:启动模式支持 或 iLO 驱动程序:启动模式支持 中所述。
配置 BIOS 模式的节点
ironic node-update <node-uuid> add properties/capabilities='boot_mode:bios'配置 UEFI 模式的节点
ironic node-update <node-uuid> add properties/capabilities='boot_mode:uefi'
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
玉田直弘 (naohirot)
- 其他贡献者
无
工作项¶
通过继承 ipmitool.IPMIManagement 并覆盖 set_boot_device() 和 get_sensors_data(),为 iRMC 驱动程序(pxe_irmc、iscsi_irmc、agent_irmc)实现 iRMC 管理模块。
依赖项¶
此功能需要 iRMC S4 及更高版本,即至少为 FUJITSU PRIMERGY 服务器的 BX S4 或 RX S8 代。
此功能需要 ‘ipmitool’ 命令和 python-scciclient 包。
此功能基于在 iRMC Power Driver for Ironic 和 iRMC Virtual Media Deploy Driver for Ironic 中定义的 iRMC 驱动程序(pxe_irmc、iscsi_irmc、agent_irmc)实现。
测试¶
单元测试
富士通计划进行第三方 CI 测试
升级和向后兼容性¶
此驱动程序的默认行为与 ipmitool.IPMIManagement 兼容。
文档影响¶
需要在文档中包含所需的 driver_info 字段和 [irmc] 部分参数,以指导操作员如何使用 Ironic 与 iRMC。