Configuring the ironic-conductor Service
Perform the following operations on the baremetal node.
- Open the /etc/ironic/ironic.conf file.
vi /etc/ironic/ironic.conf
- Set HOST_IP to the IP address of the ironic-conductor host.
1 2
[DEFAULT] my_ip = <HOST_IP>
HOST_IP indicates the IP address of the baremetal node where the ironic-conductor subservice is located, which is described in Table 3. In this document, the IP address is 192.168.101.2.
- Configure the database location.
1 2 3 4
[database] # The SQLAlchemy connection string used to connect to the # database (string value) connection = mysql+pymysql://ironic:PASSWORD@controller/ironic?charset=utf8
- In this document, the ironic-conductor and ironic-api subservices are deployed on the same node. Therefore, you only need to perform the configuration once. If they are deployed separately, refer to the ironic-api service configuration.
- In this document, all passwords are represented as PASSWORD. Use the actual password during the operation. Replace the PASSWORD with the password of the Ironic database.
- Configure the ironic-conductor subservice to use the RabbitMQ message queue.
1 2
[DEFAULT] transport_url = rabbit://RPC_USER:RPC_PASSWORD@RPC_HOST:RPC_PORT/
- In this document, the ironic-conductor and ironic-api subservices are deployed on the same node. Therefore, you only need to perform the configuration once. If they are deployed separately, use the RabbitMQ message queue by referring to the ironic-api service configuration.
- RPC_USER indicates the OpenStack user of the RabbitMQ service, RPC_PASSWORD indicates the password of the RabbitMQ service user, RPC_HOST indicates the management IP address of the node where the RabbitMQ message queue is located, and RPC_PORT indicates the RabbitMQ service port. For details about how to configure RabbitMQ, see Installing RabbitMQ. This document uses transport_url = rabbit://openstack:123456@controller:5672 as an example.
- Configure ironic-conductor to use the interaction between JSON RPC and ironic-api. Enable it in the configuration and provide key credentials for authentication.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
[DEFAULT] rpc_transport = json-rpc [json_rpc] # Authentication type to load (string value) auth_type = password # Authentication URL (string value) auth_url = http://controller:5000/ # Username (string value) username = ironic # User's password (string value) password = PASSWORD # Project name to scope to (string value) project_name = service # Domain ID containing project (string value) project_domain_id = default # User's domain id (string value) user_domain_name = default
- In this document, the ironic-conductor and ironic-api subservices are deployed on the same node. Therefore, you only need to perform the configuration once. If they are deployed separately, refer to the configuration of interaction between the ironic-api and ironic-conductor subservices.
- In this document, all passwords are represented as PASSWORD. Use the actual password during the operation. Replace PASSWORD with the password of the Ironic database described in Creating a BMS Database.
- Set api_url.
1 2
[conductor] api_url = http://${IRONIC_API_IP}:${IRONIC_API_PORT}
- IRONIC_API_IP indicates the service IP address of the node where the ironic-api service is deployed. In this example, the IP address is 192.168.101.2.
- IRONIC_API_PORT indicates the listening port number of the ironic-api service. The default value is 6385.
- Configure credentials for the ironic-conductor subservice to access other OpenStack services.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
[neutron] auth_type = password auth_url = http://controller:5000/ username = ironic password = PASSWORD project_name = service project_domain_id = default user_domain_id = default cafile = /opt/stack/data/ca-bundle.pem region_name = RegionOne valid_interfaces = public [glance] region_name = RegionOne cafile = /opt/stack/data/ca-bundle.pem project_domain_id = default user_domain_id = default project_name = service password = PASSWORD username = ironic auth_url = http://controller:5000/v3/ auth_type = password [swift] region_name = RegionOne cafile = /opt/stack/data/ca-bundle.pem project_domain_id = default user_domain_id = default project_name = service password = PASSWORD username = ironic auth_url = http://controller/v3/ auth_type = password [cinder] region_name = RegionOne cafile = /opt/stack/data/ca-bundle.pem project_domain_id = default user_domain_id = default project_name = service password = PASSWORD username = ironic auth_url = http://controller:5000/v3/ auth_type = password [service_catalog] region_name = RegionOne cafile = /opt/stack/data/ca-bundle.pem project_domain_id = default user_domain_id = default project_name = service password = PASSWORD username = ironic auth_url = http://controller:5000/v3/ auth_type = password
In this document, all passwords are represented as PASSWORD. Use the actual password during the operation. Replace PASSWORD with the password of the ironic user described in Creating a BMS Database.
- Set the ironic-conductor deployment configuration.
1 2 3 4 5 6 7 8 9 10 11 12
[agent] deploy_logs_collect = always deploy_logs_storage_backend = local deploy_logs_local_path = /var/log/ironic/deploy [deploy] erase_devices_priority = 0 default_boot_option = local default_boot_mode = bios [neutron] port_setup_delay = 15
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Restart the ironic-conductor subservice.
1 2
systemctl restart openstack-ironic-conductor systemctl status openstack-ironic-conductor
Parent topic: Installing and deploying the BMS.