Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
Appendix B. Power Management Drivers
Although IPMI is the main method the director uses for power management control, the director also supports other power management types. This appendix provides a list of the supported power management features. Use these power management settings for Section 5.1, “Registering Nodes for the Overcloud”.
B.1. Dell Remote Access Controller (DRAC)
DRAC is an interface that provides out-of-band remote management features including power management and server monitoring.
- pm_type
-
Set this option to
pxe_drac
. - pm_user; pm_password
- The DRAC username and password.
- pm_addr
The IP address of the DRAC host.
-
To enable this driver, add
pxe_drac
to theenabled_drivers
option in yourundercloud.conf
file, then rerunopenstack undercloud install
command.
-
To enable this driver, add
B.2. Integrated Lights-Out (iLO)
iLO from Hewlett-Packard is an interface that provides out-of-band remote management features including power management and server monitoring.
- pm_type
-
Set this option to
pxe_ilo
. - pm_user; pm_password
- The iLO username and password.
- pm_addr
The IP address of the iLO interface.
-
To enable this driver, add
pxe_ilo
to theenabled_drivers
option in yourundercloud.conf
file, then rerunopenstack undercloud install
command. The director also requires an additional set of utilities for iLo. Install the
python-proliantutils
package and restart theopenstack-ironic-conductor
service:$ sudo yum install python-proliantutils $ sudo systemctl restart openstack-ironic-conductor.service
- HP nodes must a 2015 firmware version for successful introspection. The director has been successfully tested with nodes using firmware version 1.85 (May 13 2015).
- Using a shared iLO port is not supported.
-
To enable this driver, add
B.3. Cisco Unified Computing System (UCS)
UCS from Cisco is a data center platform that unites compute, network, storage access, and virtualization resources. This driver focuses on the power management for bare metal systems connected to the UCS.
- pm_type
-
Set this option to
pxe_ucs
. - pm_user; pm_password
- The UCS username and password.
- pm_addr
- The IP address of the UCS interface.
- pm_service_profile
The UCS service profile to use. Usually takes the format of
org-root/ls-[service_profile_name]
. For example:"pm_service_profile": "org-root/ls-Nova-1"
-
To enable this driver, add
pxe_ucs
to theenabled_drivers
option in yourundercloud.conf
file, then rerunopenstack undercloud install
command. The director also requires an additional set of utilities for UCS. Install the
python-UcsSdk
package and restart theopenstack-ironic-conductor
service:$ sudo yum install python-UcsSdk $ sudo systemctl restart openstack-ironic-conductor.service
-
To enable this driver, add
B.4. Fujitsu Integrated Remote Management Controller (iRMC)
Fujitsu’s iRMC is a Baseboard Management Controller (BMC) with integrated LAN connection and extended functionality. This driver focuses on the power management for bare metal systems connected to the iRMC.
iRMC S4 or higher is required.
- pm_type
-
Set this option to
pxe_irmc
. - pm_user; pm_password
- The username and password for the iRMC interface.
- pm_addr
- The IP address of the iRMC interface.
- pm_port (Optional)
- The port to use for iRMC operations. The default is 443.
- pm_auth_method (Optional)
-
The authentication method for iRMC operations. Use either
basic
ordigest
. The default isbasic
- pm_client_timeout (Optional)
- Timeout (in seconds) for iRMC operations. The default is 60 seconds.
- pm_sensor_method (Optional)
Sensor data retrieval method. Use either
ipmitool
orscci
. The default isipmitool
.-
To enable this driver, add
pxe_irmc
to theenabled_drivers
option in yourundercloud.conf
file, then rerunopenstack undercloud install
command. The director also requires an additional set of utilities if you enabled SCCI as the sensor method. Install the
python-scciclient
package and restart theopenstack-ironic-conductor
service:$ yum install python-scciclient $ sudo systemctl restart openstack-ironic-conductor.service
-
To enable this driver, add
B.5. Virtual Bare Metal Controller (VBMC)
The director can use virtual machines as nodes on a KVM host. It controls their power management through emulated IPMI devices. This allows you to use the standard IPMI parameters from Section 5.1, “Registering Nodes for the Overcloud” but for virtual nodes.
This power management method supersedes the method in Section B.6, “SSH and Virsh”, which is now deprecated.
This option uses virtual machines instead of bare metal nodes. This means it is available for testing and evaluation purposes only. It is not recommended for Red Hat OpenStack Platform enterprise environments.
Configuring the KVM Host
On the KVM host, enable the OpenStack Platform repository and install the python-virtualbmc
package:
$ sudo subscription-manager repos --enable=rhel-7-server-openstack-11-rpms $ sudo yum install -y python-virtualbmc
Create a virtual bare metal controller (BMC) for each virtual machine using the vbmc
command. For example, if you aim to create a BMC for virtual machines named Node01
and Node02
, run the following commands:
$ vbmc add Node01 --port 6230 --username admin --password p455w0rd! $ vbmc add Node02 --port 6231 --username admin --password p455w0rd!
This defines the port to access each BMC and sets each BMC’s authentication details.
Use a different port for each virtual machine. Port numbers lower than 1025 require root privileges in the system.
Start each BMC with the following commands:
$ vbmc start Node01 $ vbmc start Node02
You must repeat this step after rebooting the KVM host.
Registering Nodes
Use the following parameters in your node registration file (/home/stack/instackenv.json
):
- pm_type
-
Set this option to
pxe_ipmitool
. - pm_user; pm_password
- The IPMI username and password for the node’s virtual BMC device.
- pm_addr
- The IP address of the KVM host that contains the node.
- pm_port
- The port to access the specific node on the KVM host.
- mac
- A list of MAC addresses for the network interfaces on the node. Use only the MAC address for the Provisioning NIC of each system.
For example:
{ "nodes": [ { "pm_type": "pxe_ipmitool", "mac": [ "aa:aa:aa:aa:aa:aa" ], "pm_user": "admin", "pm_password": "p455w0rd!", "pm_addr": "192.168.0.1", "pm_port": "6230", "name": "Node01" }, { "pm_type": "pxe_ipmitool", "mac": [ "bb:bb:bb:bb:bb:bb" ], "pm_user": "admin", "pm_password": "p455w0rd!", "pm_addr": "192.168.0.1", "pm_port": "6231", "name": "Node02" } ] }
Migrating Existing Nodes
You can migrate existing nodes from using the deprecated pxe_ssh
driver to using the new virtual BMC method. The following command is an example that sets a node to use the pxe_ipmitool
driver and its parameters:
openstack baremetal node set Node01 \ --driver pxe_ipmitool \ --driver-info ipmi_address=192.168.0.1 \ --driver-info ipmi_port=6230 \ --driver-info ipmi_username="admin" \ --driver-info ipmi_password="p455w0rd!"
B.6. SSH and Virsh
The director can access a KVM host running libvirt
through SSH and use virtual machines as nodes. The director uses virsh to control the power management of these nodes.
This option is deprecated in favor of the method in Section B.5, “Virtual Bare Metal Controller (VBMC)”. If you continue to use this deprecated driver, note that it is only available for testing and evaluation purposes only. It is not recommended for Red Hat OpenStack Platform enterprise environments.
- pm_type
-
Set this option to
pxe_ssh
. - pm_user; pm_password
The SSH username and contents of the SSH private key. If using the CLI tools to register your nodes, the private key must be on one line with new lines replaced with escape characters (
\n
). For example:-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEA .... kk+WXt9Y=\n-----END RSA PRIVATE KEY-----
Add the SSH public key to the libvirt server’s
authorized_keys
collection.- pm_addr
The IP address of the virsh host.
-
The server hosting libvirt requires an SSH key pair with the public key set as the
pm_password
attribute. -
Ensure the chosen
pm_user
has full access to the libvirt environment.
-
The server hosting libvirt requires an SSH key pair with the public key set as the
B.7. Fake PXE Driver
This driver provides a method to use bare metal devices without power management. This means the director does not control the registered bare metal devices and as such require manual control of power at certain points in the introspect and deployment processes.
This option is available for testing and evaluation purposes only. It is not recommended for Red Hat OpenStack Platform enterprise environments.
- pm_type
Set this option to
fake_pxe
.- This driver does not use any authentication details because it does not control power management.
-
To enable this driver, add
fake_pxe
to theenabled_drivers
option in yourundercloud.conf
file, then rerunopenstack undercloud install
command. -
When performing introspection on nodes, manually power the nodes after running the
openstack baremetal introspection bulk start
command. -
When performing overcloud deployment, check the node status with the
ironic node-list
command. Wait until the node status changes fromdeploying
todeploy wait-callback
and then manually power the nodes. -
After the overcloud provisioning process completes, reboot the nodes. To check the completion of provisioning, check the node status with the
ironic node-list
command, wait until the node status changes toactive
, then manually reboot all overcloud nodes.