Chapter 3. Deploying an Overcloud with the Bare Metal Service
For full details about overcloud deployment with the director, see Director Installation and Usage. This chapter only covers deployment steps specific to ironic.
3.1. Creating the Ironic Template
Use an environment file to deploy the overcloud with the Bare Metal service enabled. A template is located on the director node at
Filling in the template
Additional configuration can be specified either in the provided template or in an additional yaml file, for example
For a hybrid deployment with both bare metal and virtual instances, you must add
AggregateInstanceExtraSpecsFilterto the list of
NovaSchedulerDefaultFilters. If you have not set
NovaSchedulerDefaultFiltersanywhere, you can do so in ironic.yaml. For an example, see Section 3.3, “Example Templates”.Note
If you are using SR-IOV, NovaSchedulerDefaultFilters is already set in
AggregateInstanceExtraSpecsFilterto this list.
The type of cleaning that occurs before and between deployments is set by
IronicCleaningDiskErase. By default, this is set to ‘full’ by
puppet/services/ironic-conductor.yaml. Setting this to ‘metadata’ can substantially speed up the process, as it only cleans the partition table, however, since the deployment will be less secure in a multi-tenant environment, you should only do this in a trusted tenant environment.
You can add drivers with the
IronicEnabledDriversparameter. By default,
For a full list of configuration parameters, see the section Bare Metal in the Overcloud Parameters guide.
3.2. Network Configuration
Create a bridge called
br-baremetal for ironic to use. You can specify this in an additional template:
parameter_defaults: NeutronBridgeMappings: datacentre:br-ex,baremetal:br-baremetal NeutronFlatNetworks: datacentre,baremetal
You can either configure this bridge in the provisioning network (control plane) of the controllers, so you can reuse this network as the bare metal network, or add a dedicated network. The configuration requirements are the same, however the bare metal network cannot be VLAN-tagged, as it is used for provisioning.
network_config: - type: ovs_bridge name: br-baremetal use_dhcp: false members: - type: interface name: eth1
3.3. Example Templates
The following is an example template file. This file may not meet the requirements of your environment. Before using this example, make sure it does not interfere with any existing configuration in your environment.
parameter_defaults: NovaSchedulerDefaultFilters: - RetryFilter - AggregateInstanceExtraSpecsFilter - AvailabilityZoneFilter - RamFilter - DiskFilter - ComputeFilter - ComputeCapabilitiesFilter - ImagePropertiesFilter IronicCleaningDiskErase: metadata
In this example:
AggregateInstanceExtraSpecsFilterallows both virtual and bare metal instances, for a hybrid deployment.
- Disk cleaning that is done before and between deployments only erases the partition table (metadata).
3.4. Deploying the Overcloud
To enable the Bare Metal service, include your ironic environment files with
-e when deploying or redeploying the overcloud, along with the rest of your overcloud configuration.
$ openstack overcloud deploy \ --templates \ -e ~/templates/node-info.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e ~/templates/network-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic.yaml \ -e ~/templates/ironic.yaml \
3.5. Testing the Bare Metal Service
You can use the OpenStack Integration Test Suite to validate your Red Hat OpenStack deployment. For more information, see the OpenStack Integration Test Suite Guide.
Additional Ways to Verify the Bare Metal Service:
Set up the shell to access Identity as the administrative user:
$ source ~/overcloudrc
Check that the
nova-computeservice is running on the controller nodes:
$ openstack compute service list -c Binary -c Host -c Status
If you have changed the default ironic drivers, make sure the required drivers are enabled:
$ openstack baremetal driver list
Ensure that the ironic endpoints are listed:
$ openstack catalog list