This proposal adds the ability to manage power control for HP ProLiant servers via iLO using iLO client python library. Change-Id: I3a76a6146b244732395432ab4ad0b4e2cd0ac001
4.1 KiB
iLO Power Driver for Ironic
https://blueprints.launchpad.net/ironic/+spec/ironic-ilo-power-driver
This proposal adds the ability to manage power control for HP ProLiant servers via iLO using iLO client python library.
Problem description
The HP iLO subsystem is a standard component of HP ProLiant servers that simplifies initial server setup, server health monitoring, power and thermal optimization, and remote server administration. Our proposed Ironic IloDriver will expose these capabilities in OpenStack to manage HP Proliant servers.
This proposal covers support for power management interfaces using iLO.
Proposed change
To add a new IloPower() module which will conform to base.PowerInterface. This module uses iLO credentials (ilo_address, ilo_username, ilo_password), specified in driver_info property of the node to connect to target iLO. It makes use of iLO client in proliantUtils library to talk to iLO.
HP iLO also supports more advanced power management features for monitoring and power capping. We would like to add support for these advanced vendor specific features later on.
NOTE: Even though iLO uses SSL over port 443 for communication, ssh key based authentication is not supported for RIBCL communication. iLO username/password will need to be provided for talking to iLO.
Alternatives
IPMI standard specification can be used for the power management. But adding a new power module allows the solution to be consistent with other future iLO drivers for deploy, management in using a single iLO interface to do the operations.
There is no functional benefit as of now in choosing this module over IPMI.
Data model impact
None
REST API impact
None
Driver API impact
None
Nova driver impact
None
Security impact
iLO admin credentials will be stored unencrypted in the Ironic DB. This will also be visible with the driver_info of the node when a node-show is issued. But only the ironic admin user will have access to the Ironic DB and node details.
Other end user impact
None
Scalability impact
None
Performance Impact
None
Other deployer impact
- The following 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:
-
Ramakrishnan G (rameshg87)
- Other contributors:
-
Anusha Ramineni (anusha_08)
Work Items
Implement a new power module, IloPower, conforming to base.PowerInterface.
Dependencies
- This feature is targeted for HP ProLiant servers with iLO4 and above. This power module might work with older version of iLO (like iLO3), but this will not be officially tested by the iLO driver team.
- Depends on proliantutils library.
Testing
Unit tests will be added, mocking proliantutils library.
Tempest tests will be considered later when more advanced module of IloDriver like deploy are available in the ironic tree.
Documentation Impact
The required driver_info properties need be included in the documentation to instruct operators how to use iLO Driver with Ironic.
References
proliantutils library: https://github.com/hpproliant/proliantutils https://pypi.python.org/pypi/proliantutils
HP iLO4 User Guide: http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c03334051-10.pdf
HP Power Capping and HP Dynamic Power Capping http://bit.ly/1m8sbEi