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 下