Appendix A. Bare Metal Drivers
A bare metal node can be configured to use one of the drivers enabled in the Bare Metal service. Each driver is made up of a provisioning method and a power management type. Some drivers require additional configuration. Each driver described in this section uses PXE for provisioning; drivers are listed by their power management type.
You can add drivers with the IronicEnabledDrivers
parameter in your ironic.yaml
file. By default, pxe_ipmitool
, pxe_drac
and pxe_ilo
are enabled.
For the full list of supported plug-ins and drivers, see Component, Plug-In, and Driver Support in Red Hat OpenStack Platform.
A.1. Intelligent Platform Management Interface (IPMI)
IPMI is an interface that provides out-of-band remote management features, including power management and server monitoring. To use this power management type, all Bare Metal service nodes require an IPMI that is connected to the shared Bare Metal network. Enable the pxe_ipmitool
driver, and set the following information in the node’s driver_info
:
-
ipmi_address
- The IP address of the IPMI NIC. -
ipmi_username
- The IPMI user name. -
ipmi_password
- The IPMI password.
A.2. Dell Remote Access Controller (DRAC)
DRAC is an interface that provides out-of-band remote management features, including power management and server monitoring. To use this power management type, all Bare Metal service nodes require a DRAC that is connected to the shared Bare Metal network. Enable the pxe_drac
driver, and set the following information in the node’s driver_info
:
-
drac_address
- The IP address of the DRAC NIC. -
drac_username
- The DRAC user name. -
drac_password
- The DRAC password.
A.3. Integrated Remote Management Controller (iRMC)
iRMC from Fujitsu is an interface that provides out-of-band remote management features including power management and server monitoring. To use this power management type on a Bare Metal service node, the node requires an iRMC interface that is connected to the shared Bare Metal network. Enable the pxe_irmc
driver, and set the following information in the node’s driver_info
:
-
irmc_address
- The IP address of the iRMC interface NIC. -
irmc_username
- The iRMC user name. -
irmc_password
- The iRMC password.
To use IPMI to set the boot mode or SCCI to get sensor data, you must complete the following additional steps:
Enable the sensor method in ironic.conf:
$ openstack-config --set /etc/ironic/ironic.conf \ irmc sensor_method METHOD
Replace METHOD with
scci
oripmitool
.If you enabled SCCI, install the python-scciclient package:
# yum install python-scciclient
Restart the Bare Metal conductor service:
# systemctl restart openstack-ironic-conductor.service
To use the iRMC driver, iRMC S4 or higher is required.
A.4. 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. To use this power management type, all Bare Metal nodes require an iLO interface that is connected to the shared Bare Metal network. Enable the pxe_ilo
driver, and set the following information in the node’s driver_info
:
-
ilo_address
- The IP address of the iLO interface NIC. -
ilo_username
- The iLO user name. -
ilo_password
- The iLO password.
You must also install the python-proliantutils package and restart the Bare Metal conductor service:
# yum install python-proliantutils # systemctl restart openstack-ironic-conductor.service
A.5. SSH and Virsh
The pxe_ssh
driver has been deprecated in favor of VirtualBMC, which uses the pxe_ipmitool
driver.
The Bare Metal service can access a host that is running libvirt and use virtual machines as nodes. Virsh controls the power management of the nodes.
The SSH driver is for testing and evaluation purposes only. It is not recommended for Red Hat OpenStack Platform enterprise environments.
To use this power management type, the Bare Metal service must have SSH access to an account with full access to the libvirt environment on the host where the virtual nodes will be set up. Enable the pxe_ssh
driver, and set the following information in the node’s driver_info
:
-
ssh_virt_type
- Set this option tovirsh
. -
ssh_address
- The IP address of the virsh host. -
ssh_username
- The SSH user name. -
ssh_key_contents
- The contents of the SSH private key on the Bare Metal conductor node. The matching public key must be copied to the virsh host.
A.6. VirtualBMC
VirtualBMC is a utility which can create a virtual baseboard management controller (BMC). A virtual BMC allows you to control virtual machines with the Intelligent Platform Management Interface (IPMI) protocol, just like a physical machine.
VirtualBMC is for testing and evaluation purposes only. It is not recommended for Red Hat OpenStack Platform enterprise environments.
On the hypervisor hosting the virtual machines, install VirtualBMC:
# yum install python-virtualbmc
Create a BMC for each virtual machine:
$ vbmc add DOMAIN --port PORT_NUMBER --username USERNAME --password PASSWORD
Start the virtual BMCs:
$ vbmc start DOMAIN
The virtual BMCs do not start automatically, so if you reboot the host machine, remember to start the virtual BMCs again.
A.6.1. Migrating from pxe_ssh
to VirtualBMC
If you have an existing virtual overcloud using the pxe_ssh
driver, it is possible to migrate to pxe_impitool
using Virtual BMC.
-
Install
python-virtualbmc
and create BMCs for each virtual machine by following the steps above. Make sure
pxe_impitool
is enabled (it is enabled by default). If it is not enabled, include it in yourironic.yaml
file and run theopenstack overcloud deploy
command again to apply the changes.parameter_defaults: IronicEnabledDrivers: - pxe_ipmitool - pxe_drac - pxe_ilo
Update the driver and driver properties on each node:
$ openstack baremetal node set NODE \ --driver pxe_ipmitool \ --driver-info ipmi_address=IP_ADDRESS \ --driver-info ipmi_port=PORT \ --driver-info ipmi_username="USERNAME" \ --driver-info ipmi_password="PASSWORD"
- Replace NODE with the name or UUID of the node.
- Replace IP_ADDRESS with the IP address of the virtual host.
- Replace PORT with the Virtual BMC port.
Validate that the node has updated correctly:
$ openstack baremetal node validate NODE | grep power
- Replace NODE with the name or UUID of the node.