Steps for controlling node placement from Director Installation Guide do not work
Issue
- We are trying to deterministically place nodes so that Ironic Node A is always Controller 0 and so forth. This is documented in the Director Installation and Usage guide, section 6.3.1, but the steps provided in the guide result in an early deployment error.
- Error seen:
Error: only 0 of 3 requested ironic nodes are tagged to profile control (for flavor control)
Recommendation: tag more nodes using ironic node-update <NODE ID> replace properties/capabilities=profile:control,boot_option:local
Error: only 0 of 1 requested ironic nodes are tagged to profile compute (for flavor compute)
Recommendation: tag more nodes using ironic node-update <NODE ID> replace properties/capabilities=profile:compute,boot_option:local
- We tag the nodes per the guide like this:
1011 ironic node-update <uuid> replace properties/capabilities='node:controller-0,boot_option:local'
1013 ironic node-update <uuid> replace properties/capabilities='node:controller-1,boot_option:local'
1015 ironic node-update <uuid> replace properties/capabilities='node:controller-2,boot_option:local'
1018 ironic node-update <uuid> replace properties/capabilities='node:novacompute-0,boot_option:local'
- And scheduler-hints.yaml looks like this:
[stack@undercloud templates]$ cat scheduler-hints.yaml
parameter_defaults:
ControllerSchedulerHints:
'capabilities:node': 'controller-%index%'
NovaComputeSchedulerHints:
'capabilities:node': 'novacompute-%index%'
HostnameMap:
overcloud-controller-0: <hostname>
overcloud-controller-1: <hostname>
overcloud-controller-2: <hostname>
overcloud-compute-0: <hostname>
overcloud-compute-1: <hostname>
- Our deploy command looks like this:
#!/bin/bash
openstack overcloud deploy --templates \
-e ~/templates/scheduler-hints.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/network-management.yaml \
-e ~/templates/ips-from-pool-all.yaml \
-e ~/templates/network-environment.yaml \
-e ~/templates/storage-environment.yaml \
--control-scale 3 \
--compute-scale 1 \
--ceph-storage-scale 0 \
--control-flavor control \
--compute-flavor compute \
--ceph-storage-flavor ceph-storage \
--ntp-server pool.ntp.org \
--neutron-network-type vxlan \
--neutron-tunnel-types vxlan
Environment
- Red Hat OpenStack Platform 8.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.