iLO 管理接口¶
https://blueprints.launchpad.net/ironic/+spec/ilo-management-interface
此蓝图为使用 iLO 客户端 Python 库的 HP ProLiant 服务器添加了管理接口支持。
问题描述¶
目前,IloManagement 接口在 IloVirtualMediaIscsiDriver、IloVirtualMediaAgentDriver 和 PXEAndIloDriver 中使用 IPMIManagement 来支持诸如 get_boot_device、get_supported_boot_devices 等管理操作。
这导致 iLO 服务器依赖 ipmitool。
提议的变更¶
我们提出的更改是使用 iLO 来执行上述操作,以实现一致性、简洁性和正确性。
将现有的 IloManagement 类从 ilo/deploy.py 移动到 ilo/management.py。
更改现有的 IloManagement 类,使其继承自 base.ManagementInterface,而不是 ipmitool.IPMIManagement。
使用 iLO 客户端 Python 库实现以下方法。
validate()- 验证 iLO 驱动程序特定信息。(ilo_username、ilo_password、ilo_address)get_boot_device()- 获取节点的当前启动设备,并指示该设备是否为持久设备。get_supported_boot_devices()- 获取节点支持的启动设备列表。支持的启动设备将为disk、pxe和cdrom。
将
set_boot_device()功能移动到 ManagementInterface,并将当前的调用更改为 manager_utils.node_set_boot_device()。实现
get_sensors_data()不在此规范的范围内。它被提议作为以下蓝图的一部分:https://blueprints.launchpad.net/ironic/+spec/send-ilo-health-metrics-to-ceilometer
备选方案¶
继续使用 IPMI 接口进行管理操作。
数据模型影响¶
无
REST API 影响¶
无
RPC API 影响¶
无
驱动程序 API 影响¶
无
Nova 驱动程序影响¶
无
安全影响¶
无
其他最终用户影响¶
无
可扩展性影响¶
无
性能影响¶
无
其他部署者影响¶
- 以下内容已包含在 driver_info 字段中,是必需的
ilo_address- iLO 的主机名或 IP 地址。ilo_username- 具有管理员权限的 iLO 的用户名。ilo_password-ilo_username的密码。ilo_client_timeout- iLO 操作的超时时间。默认值为 60 秒。ilo_client_port- iLO 客户端用于 iLO 操作的端口。默认值为 443。
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
anusha-iiitm
工作项¶
实现
get_boot_device和get_supported_boot_devices。将
set_boot_device()功能从 ilo/common.py 移动到 ilo/management.py。将
set_boot_device从 ilo_common.set_boot_device() 的当前调用更改为 manager_utils.node_set_boot_device()。
依赖项¶
依赖于
proliantUtils库。面向配备 iLO4 的 HP ProLiant 服务器。
测试¶
将添加单元测试,模拟 proliantutils 库。
升级和向后兼容性¶
无
文档影响¶
无
参考资料¶
proliantutils 库