Cisco IMC PXE 驱动

https://blueprints.launchpad.net/ironic/+spec/cisco-imc-pxe-driver

本规范建议添加一个新的驱动程序,该驱动程序通过 CIMC 提供 UCS C 系列服务器的带外非 IPMI 控制。

问题描述

当前驱动程序仅允许通过 IPMI 或 UCSM 控制 UCS 服务器,以独立模式运行的 Cisco UCS C 系列服务器也可以通过其 http/s XML API 通过 CIMC 进行控制。这比 IPMI 提供了更精细的服务器控制,并且不需要 UCSM 所需的额外基础设施。

提议的变更

将创建理解如何与 CIMC 通信的电源和管理接口,这些接口将与 PXE 启动接口、ISCSI 部署接口和 Agent 部署接口结合使用,以创建 pxe_cimc 和 agent_cimc 驱动程序。

CIMC 电源接口将继承基础 PowerInterface 并实现

  • get_power_state

  • set_power_state

  • reboot

  • get_properties

  • validate

CIMC 管理接口将继承基础 ManagementInterface 并实现

  • get_properties

  • validate

  • get_supported_boot_devices

  • get_boot_device

  • set_boot_device

  • get_sensors_data - 这将引发 NotImplemented

备选方案

替代方案是使用 pxe_ipmi 或 agent_ipmi 驱动程序通过 IPMI 控制 UCS C 系列,或者安装基础设施以使用 UCSM 管理这些服务器并使用 pxe_ucs 或 agent_ucs 驱动程序。

数据模型影响

状态机影响

REST API 影响

客户端 (CLI) 影响

RPC API 影响

驱动程序 API 影响

Nova 驱动程序影响

安全影响

其他最终用户影响

可扩展性影响

性能影响

其他部署者影响

在将节点注册到 ironic 时,用户必须提供
  • cimc_address - CIMC IP 地址

  • cimc_username - CIMC 用户名

  • cimc_password - CIMC 密码

添加到 ironic.conf 中的 [cimc] 部分的附加属性是

  • max_retry: 重试任何电源操作的最大次数,默认值:6

  • action_interval: 电源操作重试之间等待的时间

开发人员影响

实现

负责人

主要负责人

sambetts

其他贡献者

工作项

  • 编写 CIMC 电源接口和相应的单元测试

  • 编写 CIMC 管理接口和相应的单元测试

  • 从新的和现有的接口创建驱动程序

  • 为 pxe_cimc 和 agent_cimc 创建配置文档

依赖项

此驱动程序需要在 ironic conductor 将要运行的节点上安装此 ImcSDK。

测试

将提供电源和管理接口的单元测试。未来将添加功能测试。

升级和向后兼容性

此更改不应引入任何兼容性问题。

文档影响

参考资料

Cisco Imc Python SDK v0.7.1: https://communities.cisco.com/docs/DOC-37174