iLO Power Driver for Ironic¶
https://blueprints.launchpad.net/ironic/+spec/ironic-ilo-power-driver
本提案增加了使用 iLO 客户端 Python 库通过 iLO 管理 HP ProLiant 服务器电源的能力。
问题描述¶
HP iLO 子系统是 HP ProLiant 服务器的标准组件,可简化服务器的初始设置、服务器健康状况监控、电源和散热优化以及远程服务器管理。我们提出的 Ironic IloDriver 将在 OpenStack 中公开这些功能,以管理 HP ProLiant 服务器。
本提案涵盖使用 iLO 进行电源管理接口的支持。
提议的变更¶
将添加一个新的 IloPower() 模块,该模块将符合 base.PowerInterface。该模块使用 iLO 凭据(ilo_address、ilo_username、ilo_password),这些凭据在节点的 driver_info 属性中指定,以连接到目标 iLO。它使用 proliantUtils 库中的 iLO 客户端与 iLO 通信。
HP iLO 还支持用于监控和功率限制的更高级的电源管理功能。我们希望稍后添加对这些高级供应商特定功能的支持。
注意:尽管 iLO 使用 443 端口上的 SSL 进行通信,但 RIBCL 通信不支持基于 SSH 密钥的身份验证。需要提供 iLO 用户名/密码才能与 iLO 通信。
备选方案¶
IPMI 标准规范可用于电源管理。但添加一个新的电源模块允许解决方案与未来使用单个 iLO 接口执行操作的其他 iLO 驱动程序保持一致。
目前,选择此模块与 IPMI 没有功能上的优势。
数据模型影响¶
无
REST API 影响¶
无
驱动程序 API 影响¶
无
Nova 驱动程序影响¶
无
安全影响¶
iLO 管理员凭据将以未加密的形式存储在 Ironic 数据库中。当发出 node-show 命令时,这些凭据也会显示在节点的 driver_info 中。但只有 ironic 管理员用户才能访问 Ironic 数据库和节点详细信息。
其他最终用户影响¶
无
可扩展性影响¶
无
性能影响¶
无
其他部署者影响¶
- 需要的driver_info字段如下
ilo_address- iLO 的主机名或 IP 地址。ilo_username- 具有管理员权限的 iLO 用户名。ilo_password-ilo_username的密码ilo_client_timeout- iLO 操作的超时时间。默认值为 60 秒。ilo_client_port- iLO 客户端用于 iLO 操作的端口。默认值为 443。
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
Ramakrishnan G (rameshg87)
- 其他贡献者
Anusha Ramineni (anusha_08)
工作项¶
实现一个新的电源模块 IloPower,符合 base.PowerInterface。
依赖项¶
此功能面向配备 iLO4 及更高版本的 HP ProLiant 服务器。此电源模块可能适用于旧版本的 iLO(如 iLO3),但 iLO 驱动程序团队不会对此进行官方测试。
依赖 proliantutils 库。
测试¶
将添加单元测试,模拟 proliantutils 库。
当 ironic 树中提供更多高级的 IloDriver 模块(如部署)时,将考虑 Tempest 测试。
文档影响¶
需要在文档中包含所需的 driver_info 属性,以指导操作员如何将 Ironic 与 iLO 驱动程序一起使用。
参考资料¶
proliantutils 库:https://github.com/hpproliant/proliantutils https://pypi.python.org/pypi/proliantutils
HP iLO4 用户指南:http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c03334051-10.pdf
HP 功率限制和 HP 动态功率限制 http://bit.ly/1m8sbEi