ironic/install-guide/source/include/configure-ironic-conductor.rst

5.3 KiB

Configuring ironic-conductor service

  1. Replace HOST_IP with IP of the conductor host, and replace DRIVERS with a comma-separated list of drivers you chose for the conductor service as follows:

    [DEFAULT]
    
    # IP address of this host. If unset, will determine the IP
    # programmatically. If unable to do so, will use "127.0.0.1".
    # (string value)
    my_ip=HOST_IP
    
    # Specify the list of drivers to load during service
    # initialization. Missing drivers, or drivers which fail to
    # initialize, will prevent the conductor service from
    # starting. The option default is a recommended set of
    # production-oriented drivers. A complete list of drivers
    # present on your system may be found by enumerating the
    # "ironic.drivers" entrypoint. An example may be found in the
    # developer documentation online. (list value)
    enabled_drivers=DRIVERS

    Note

    If a conductor host has multiple IPs, my_ip should be set to the IP which is on the same network as the bare metal nodes.

  2. Configure the ironic-api service URL. Replace IRONIC_API_IP with IP of ironic-api service as follows:

    [conductor]
    
    # URL of Ironic API service. If not set ironic can get the
    # current value from the keystone service catalog. (string
    # value)
    api_url=http://IRONIC_API_IP:6385
  3. Configure the location of the database. Ironic-conductor should use the same configuration as ironic-api. Replace IRONIC_DBPASSWORD with the password of your ironic user, and replace DB_IP with the IP address where the DB server is located:

    [database]
    
    # The SQLAlchemy connection string to use to connect to the
    # database. (string value)
    connection=mysql+pymysql://ironic:IRONIC_DBPASSWORD@DB_IP/ironic?charset=utf8
  4. Configure the ironic-conductor service to use the RabbitMQ message broker by setting one or more of these options. Ironic-conductor should use the same configuration as ironic-api. Replace RABBIT_HOST with the address of the RabbitMQ server:

    [DEFAULT]
    
    # The messaging driver to use, defaults to rabbit. Other
    # drivers include qpid and zmq. (string value)
    #rpc_backend=rabbit
    
    [oslo_messaging_rabbit]
    
    # The RabbitMQ broker address where a single node is used.
    # (string value)
    rabbit_host=RABBIT_HOST
    
    # The RabbitMQ userid. (string value)
    #rabbit_userid=guest
    
    # The RabbitMQ password. (string value)
    #rabbit_password=guest
  5. Configure the ironic-conductor service so that it can communicate with the Image service. Replace GLANCE_IP with the hostname or IP address of the Image service:

    [glance]
    
    # Default glance hostname or IP address. (string value)
    glance_host=GLANCE_IP

    Note

    Swift backend for the Image service should be installed and configured for agent_* drivers. Starting with Mitaka the Bare Metal service also supports Ceph Object Gateway (RADOS Gateway) as the Image service's backend (radosgw support).

  6. Set the URL (replace NEUTRON_IP) for connecting to the Networking service, to be the Networking service endpoint:

    [neutron]
    
    # URL for connecting to neutron. (string value)
    url=http://NEUTRON_IP:9696

    To configure the network for ironic-conductor service to perform node cleaning, see CleaningNetworkSetup from the Ironic deploy guide.

  7. Configure the ironic-conductor service to use these credentials with the Identity service. Ironic-conductor should use the same configuration as ironic-api. Replace IDENTITY_IP with the IP of the Identity server, and replace IRONIC_PASSWORD with the password you chose for the ironic user in the Identity service:

    [keystone_authtoken]
    
    # Complete public Identity API endpoint (string value)
    auth_uri=http://IDENTITY_IP:5000/
    
    # Complete admin Identity API endpoint. This should specify
    # the unversioned root endpoint e.g. https://localhost:35357/
    # (string value)
    identity_uri=http://IDENTITY_IP:35357/
    
    # Service username. (string value)
    admin_user=ironic
    
    # Service account password. (string value)
    admin_password=IRONIC_PASSWORD
    
    # Service tenant name. (string value)
    admin_tenant_name=service
  8. Make sure that qemu-img and iscsiadm (in the case of using iscsi-deploy driver) binaries are installed and prepare the host system as described at Setup the drivers for the Bare Metal service

  9. Restart the ironic-conductor service:

    Fedora/RHEL7/CentOS7:
      sudo systemctl restart openstack-ironic-conductor
    
    Ubuntu:
      sudo service ironic-conductor restart