Chapter 10. Bare metal drivers

You can configure bare metal nodes to use one of the drivers that are enabled in the Bare Metal Provisioning service. Each driver includes 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 IronicEnabledHardwareTypes parameter in your ironic.yaml file. By default, ipmi, redfish, idrac and 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.

10.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 Provisioning service nodes require an IPMI that is connected to the shared Bare Metal network. Enable the ipmi driver, and set the following information in the driver_info of the node:

  • ipmi_address - The IP address of the IPMI NIC.
  • ipmi_username - The IPMI user name.
  • ipmi_password - The IPMI password.
Note

Red Hat OpenStack Platform 16.1 uses ipmitool 2.0. On some hardware, introspection or general power control operations might fail with the following error:

Error in open session response message : no matching cipher suite
Error: Unable to establish IPMI v2 / RMCP+ session

In this case, you must set IPMI cipher suite to version 3 before you run the introspection:

$ openstack baremetal node set <node-UUID> --driver-info ipmi_cipher_suite=3

10.2. Redfish

A standard RESTful API for IT infrastructure developed by the Distributed Management Task Force (DMTF)

  • redfish_username - The Redfish username.
  • redfish_password - The Redfish password.
  • redfish_address - The IP address of the Redfish controller.
  • redfish_system_id - The canonical path to the system resource. This path must include the root service, version, and the path/unique ID for the system. For example: /redfish/v1/Systems/CX34R87.
  • redfish_verify_ca - Either a Boolean value, a path to a CA_BUNDLE file, or a directory with certificates of trusted CAs. If you set this value to True the driver verifies the host certificates. If you set this value to False the driver ignores verifying the SSL certificate. If you set this value to a path, the driver uses the specified certificate or one of the certificates in the directory. The default is True.

10.3. 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 Provisioning service nodes require a DRAC that is connected to the shared Bare Metal network. Enable the idrac driver, and set the following information in the driver_info of the node:

  • drac_address - The IP address of the DRAC NIC.
  • drac_username - The DRAC user name.
  • drac_password - The DRAC password.

10.4. 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 Provisioning service node, the node requires an iRMC interface that is connected to the shared Bare Metal network. Enable the irmc driver, and set the following information in the driver_info of the node:

  • 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:

  1. Enable the sensor method in the ironic.conf file:

    $ openstack-config --set /etc/ironic/ironic.conf \
       irmc sensor_method METHOD

    Replace METHOD with scci or ipmitool.

  2. If you enabled SCCI, install the python-scciclient package:

    # dnf install python-scciclient
  3. Restart the Bare Metal conductor service:

    # systemctl restart openstack-ironic-conductor.service
Note

To use the iRMC driver, iRMC S4 or higher is required.

10.5. 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 ilo driver, and set the following information in the driver_info of the node:

  • 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:

# dnf install python-proliantutils
# systemctl restart openstack-ironic-conductor.service

10.6. Converting to next generation power management drivers

Red Hat OpenStack Platform now uses next generation drivers, also known as hardware types, that replace older drivers.

The following table shows an analogous comparison between older drivers and their next generation hardware type equivalent:

Old driverNew hardware type

pxe_ipmitool

ipmi

pxe_drac

idrac

pxe_ilo

ilo

pxe_irmc

irmc

fake_pxe

fake-hardware

In Red Hat OpenStack Platform (RHOSP) 15, these older drivers have been removed and are no longer accessible. You must change to the new hardware types before you upgrade to RHOSP 15.

Procedure

  1. Check the current list of enabled hardware types:

    $ source ~/overcloud
    $ openstack baremetal driver list --type dynamic
  2. If you use a hardware type driver that is not enabled, use the IronicEnabledHardwareTypes parameter in an environment file to enable the driver:

    parameter_defaults:
      IronicEnabledHardwareTypes: ipmi,redfish,idrac
  3. Save the file and run the overcloud deployment command:

    $ openstack overcloud deploy -e [ENVIRONMENT_FILE] -r [ROLES_DATA] -n [NETWORK_DATA]

    Ensure that you include all environment and data files relevant to your overcloud.

  4. Run the following commands. Substitute the OLDDRIVER and NEWDRIVER variables for your power management type:

    $ source ~/overcloud
    $ OLDDRIVER="pxe_ipmitool"
    $ NEWDRIVER="ipmi"
    $ for NODE in $(openstack baremetal node list --driver $OLDDRIVER -c UUID -f value) ; do openstack baremetal node set $NODE --driver $NEWDRIVER; done