Open CloudServer (OCS) 电源驱动程序

https://blueprints.launchpad.net/ironic/+spec/msft-ocs-power-driver

此蓝图为 Ironic 中添加了对 Open CloudServer (OCS) v2.0 电源接口的支持。OCS 的设计和规范由微软贡献给 Open Compute 项目。

问题描述

OCS 机箱系统包括一个机箱管理服务器,它公开了一个 REST API 来管理各个刀片,取代了传统的协议,如 IPMI。REST API 服务本身是开源的(Apache 2 许可)。

为了能够执行 OCS 刀片的电源和管理操作,需要实现相应的接口。

此外,OCS REST API 还支持单个刀片的串行控制台接口,该接口可以在 Ironic 中支持。

提议的变更

建议的实现包括一个驱动程序实现。将提供一个客户端来抽象 OCS 服务 REST API 调用,反过来,该客户端可以被电源、管理和控制台接口引用。

UEFI 和传统 BIOS 启动模式均受支持,并且可以由用户作为属性/功能的一部分指定。

用户可以指定的驱动程序属性

msftocs_base_url

OCS 机箱管理 REST API 的基本 URL,例如:http://10.0.0.1:8000。必需。

msftocs_blade_id

刀片 ID,必须是介于 1 和机箱中可用刀片的最大数量之间的数字。在当前配置中,OCS 机箱最多可容纳 24 或 48 个刀片。必需。

msftocs_username

访问机箱管理 REST API 的用户名。必需。

msftocs_password

访问机箱管理 REST API 的密码。必需。

备选方案

对于 OCS 而言,没有可用的替代方案。

数据模型影响

状态机影响

REST API 影响

客户端 (CLI) 影响

RPC API 影响

驱动程序 API 影响

Nova 驱动程序影响

安全影响

Ironic 和 OCS 机箱管理器之间的交互涉及 REST API 调用,使用 HTTP 基本身份验证,并且未来可能使用 NTLM 身份验证。

HTTP 凭据由用户作为驱动程序属性的一部分提供,需要传递给 REST API 服务。强烈建议在任何生产环境中采用 HTTPS 进行传输加密。

其他最终用户影响

可扩展性影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

<alexpilotti>

其他贡献者

<atuvenie>

工作项

  • 电源和管理接口

  • 控制台接口

依赖项

测试

与 Gerrit / Zuul 集成的潜在持续集成系统。挑战在于,为此目的需要相当数量的 OCS 资源。

升级和向后兼容性

文档影响

驱动程序应以类似于其他 Ironic 驱动程序的方式记录在 https://docs.openstack.org/developer/ironic/index.html

参考资料