Rate This Document
Findability
Accuracy
Completeness
Readability

Configuring the Bare Metal Instance Management Drivers

The BMS uses the bare metal instance management drivers to manage bare metal instances. The bare metal instance management driver consists of a series of hardware interfaces to implement related operations. The drivers are classified into general-purpose drivers such as ipmi and redfish, and drivers of specific vendors such as ibmc, ilo, and irmc. This section uses the ipmi driver as an example to describe how to add a bare metal instance management driver to the BMS.

Perform the following operations on the BMS management node baremetal.

  1. Enable the bare metal instance management driver.

    Modify the /etc/ironic/ironic.conf file as follows:

    1
    2
    [DEFAULT]
    enabled_hardware_types = ipmi
    
  2. Enable the hardware interfaces.

    Modify the /etc/ironic/ironic.conf file as follows:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    [DEFAULT]
    enabled_boot_interfaces = pxe
    enabled_console_interfaces =  ipmitool-socat,no-console
    enabled_deploy_interfaces = iscsi,direct
    enabled_inspect_interfaces = no-inspect,inspector
    enabled_management_interfaces = ipmitool
    enabled_network_interfaces = flat,neutron
    enabled_power_interfaces = ipmitool
    enabled_raid_interfaces = agent,no-raid
    enabled_storage_interfaces = cinder,noop
    enabled_vendor_interfaces = ipmitool,no-vendor
    
  3. Set the default values of the hardware interfaces.

    Modify the /etc/ironic/ironic.conf file as follows:

    1
    2
    3
    4
    5
    [DEFAULT]
    default_deploy_interface = iscsi
    default_network_interface = flat
    default_inspect_interface = inspector
    default_raid_interface = no-raid
    
  4. Configure the IPMI support.
    1. Install ipmitool.
      1
      sudo yum install ipmitool
      

      Alternatively, you can use the source code from https://github.com/ipmitool/ipmitool to install it.

    2. After the installation is complete, run the ipmitool command to verify the installation.
      1
      ipmitool -I lanplus -H ip-address -U username -P password chassis power status
      

      Set ip-address, username, and password to the IP address, username, and password of the BMC on the server to be verified.

  5. Configure the ISCSI support.

    Install the qemu-img and iscsiadm tools on the ironic-conductor node.

    1
    yum install iscsi-initiator-utils qemu-img
    
  6. Configure the direct deployment support.

    The direct deployment can be implemented through the object storage service or HTTP service. If the object storage service is used, the Glance service must be interconnected with Swift or Ceph, and tempUrl must be configured for the object storage service. This section uses the HTTP service to implement the direct deployment.

    1. Install the Apache service.
      sudo yum install httpd
    2. Enable the Apache httpd service.
      systemctl enable httpd.service
      systemctl restart httpd.service
    3. Create an HTTP root directory.
      1
      2
      sudo mkdir -p /httpboot
      sudo chown -R ironic /httpboot
      
    4. Create an ironic-http-wsgi.conf file in the /etc/httpd/conf.d directory and add the following content to the file:
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      Listen 3928
       
      <VirtualHost *:3928>
          DocumentRoot "/httpboot"
          <Directory "/httpboot">
              Options Indexes FollowSymLinks
              AllowOverride None
              Order allow,deny
              Allow from all
              Require all granted
          </Directory>
      </VirtualHost>
      
    5. Reload the configuration file.
      1
      sudo systemctl reload httpd
      
    6. Modify the /etc/ironic/ironic.conf file as follows:
      1
      2
      3
      4
      5
      6
      [deploy]
      http_root=/httpboot
      http_url=${my_ip}:3928
       
      [agent]
      image_download_source = http
      

      In addition, ensure that http_url and http_root are correctly configured.

  7. Restart the service.
    1
    sudo systemctl restart openstack-ironic-conductor