iLO Management Interface¶
https://blueprints.launchpad.net/ironic/+spec/ilo-management-interface
This blueprint adds support to management Interface for HP ProLiant Servers using iLO client python library.
Problem description¶
Currently, IloManagement Interface used in IloVirtualMediaIscsiDriver,
IloVirtualMediaAgentDriver and PXEAndIloDriver uses IPMIManagement to support
management operations like get_boot_device
,
get_supported_boot_devices
.
This leads to dependency of ipmitool on iLO servers.
Proposed change¶
Our proposed change is to do above operations using iLO for consistency, simplicity and correctness.
Move existing IloManagement class from ilo/deploy.py to ilo/management.py.
Change the existing IloManagement Class to inherit from base.ManagementInterface instead of ipmitool.IPMIManagement.
Implement the following methods using iLO client python library.
validate()
- To validate iLO driver specific information. (ilo_username, ilo_password, ilo_address)get_boot_device()
- To get the current boot device of a node with the indication whether it’s persistent, or not.get_supported_boot_devices()
- To get a list of the supported boot devices of a node. The supported boot devices will bedisk
,pxe
andcdrom
.
Move
set_boot_device()
functionality to ManagementInterface and change the current invocations to manager_utils.node_set_boot_device().Implementation of
get_sensors_data()
is not in scope of current spec. It is proposed as part of the following blueprint- https://blueprints.launchpad.net/ironic/+spec/send-ilo-health-metrics-to-ceilometer
Alternatives¶
Continue to use IPMI Interface to management operations.
Data model impact¶
None
REST API impact¶
None
RPC API impact¶
None
Driver API impact¶
None
Nova driver impact¶
None
Security impact¶
None
Other end user impact¶
None
Scalability impact¶
None
Performance Impact¶
None
Other deployer impact¶
- The following which are already part of driver_info fields are required:
ilo_address
- hostname or IP address of the iLO.ilo_username
- the username for the iLO with administrator privileges.ilo_password
- the password forilo_username
.ilo_client_timeout
- the timeout for iLO operations. The default value will be 60 seconds.ilo_client_port
- the port to be used by iLO client for iLO operations. The default value will be 443.
Developer impact¶
None
Implementation¶
Assignee(s)¶
- Primary assignee:
anusha-iiitm
Work Items¶
Implement
get_boot_device
andget_supported_boot_devices
.Move
set_boot_device()
functionality from ilo/common.py to ilo/management.py.Change the current invocations of
set_boot_device
from ilo_common.set_boot_device() to manager_utils.node_set_boot_device().
Dependencies¶
Depends on
proliantUtils
library.Targeted for HP ProLiant servers with iLO4.
Testing¶
Unit tests will be added, mocking proliantutils library.
Upgrades and Backwards Compatibility¶
None
Documentation Impact¶
None
References¶
proliantutils library: