Steps for controlling node placement from Director Installation Guide do not work

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content