Cloud operators want to be able to statically assign IP addresses to nodes and racks (L2 domains).
Nova/Ironic alone don't allow the user to do this, but using the TripleOCapabilitiesFilter (already installed on the undercloud) this is possible. For each node you first need to set the node ID in the capabilities, like this (note we also keep the boot_option to local) ironic node-list | grep False | awk '{print $2}' | xargs -I XXX -n 1 ironic node-update XXX add properties/capabilities="node:XXX,boot_option:local" Then you can specify the node ID and the IP address in the nova boot command nova boot --image overcloud-full --flavor baremetal --key-name default --nic net-name=ctlplane,v4-fixed-ip=192.0.2.7 --hint capabilities:node=50c1c194-158a-4fcb-81af-5c05cc56517a node1 or first create the port and use it. Note: you can specify the mac of the nic when creating the port but if you don't the random one gets changed to match the host its scheduled on neutron port-create --fixed-ip ip_address=192.0.2.11 ctlplane nova boot --image overcloud-full --flavor baremetal --key-name default --nic port-id=00c48ca1-c989-46c8-9f3c-8e5d2e38f7cd --hint capabilities:node=50c1c194-158a-4fcb-81af-5c05cc56517a node1 In tripleo predictable IP assignments are documented here http://docs.openstack.org/developer/tripleo-docs/advanced_deployment/node_placement.html
This depends on the Routed Network changes being available https://bugzilla.redhat.com/show_bug.cgi?id=1477642 and additional work beyond that, so pushing this to next release.
*** Bug 1391847 has been marked as a duplicate of this bug. ***
Verified: Environment: openstack-tripleo-heat-templates-9.0.0-0.20180919080941.0rc1.0rc1.el7ost.noarch This is achievable with adding a yaml to overcloud deployment with something like: parameter_defaults: <controller rolename>IPs: # Each controller will get an IP from the lists below, first controller, first IP ctlplane: - 10.37.168.81 - 10.37.168.82 - 10.37.168.83 <compute rolename>IPs: # Each compute will get an IP from the lists below, first compute, first IP ctlplane: - 10.37.168.151 - 10.37.168.152 <CephStorage role>IPs: # Each ceph node will get an IP from the lists below, first node, first IP ctlplane: - 10.37.168.161 - 10.37.168.162
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2019:0045