* Move liberty -> approved * Move completed liberty specs to liberty-implemented * Move kilo -> kilo-implemented * Move juno -> juno-implemented * Move kilo-archive -> backlog (moving these to approved causes test failures because the template changed since kilo) * Reword the header for the index page * Update unit tests to look at the new "approved" folder ** NOTE ** This patch does not create placeholders in the previous locations for each spec. This will be done in the following patch so that the history is preserved. Both patches must be landed together so that web links are not broken for long. Change-Id: I61f02731150ea944eafaa8c6ea702210364b3478 Implements: blueprint feature-based-releases
3.7 KiB
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: