Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

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:

  1. Enable the sensor method in ironic.conf:

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

    # yum 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.

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

Note

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.

Important

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 to virsh.
  • 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.

Important

VirtualBMC is for testing and evaluation purposes only. It is not recommended for Red Hat OpenStack Platform enterprise environments.

  1. On the hypervisor hosting the virtual machines, install VirtualBMC:

    # yum install python-virtualbmc
  2. Create a BMC for each virtual machine:

    $ vbmc add DOMAIN --port PORT_NUMBER --username USERNAME --password PASSWORD
  3. 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.

  1. Install python-virtualbmc and create BMCs for each virtual machine by following the steps above.
  2. Make sure pxe_impitool is enabled (it is enabled by default). If it is not enabled, include it in your ironic.yaml file and run the openstack overcloud deploy command again to apply the changes.

    parameter_defaults:
      IronicEnabledDrivers:
          - pxe_ipmitool
          - pxe_drac
          - pxe_ilo
  3. 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.
  4. Validate that the node has updated correctly:

    $ openstack baremetal node validate NODE | grep power
    • Replace NODE with the name or UUID of the node.