So you have controller-0, controller-1 and controller-2.
You can modify an example tripleo-heat-templates/environments/ips-from-pool.yaml like below"
parameter_defaults:
ControllerIPs:
# Each controller will get an IP from the lists below, first controller, first IP
external:
- 10.0.0.251 # scheduler parses controller-0 to index 0
- 10.0.0.252 # scheduler parses controller-1 to index 1
- 10.0.0.253 # scheduler parses controller-2 to index 2
internal_api:
- 172.16.2.251
- 172.16.2.252
- 172.16.2.253
storage:
- 172.16.1.251
- 172.16.2.252
- 172.16.2.253
storage_mgmt:
- 172.16.3.251
- 172.16.3.252
- 172.16.3.253
tenant:
- 172.16.0.251
- 172.16.0.252
- 172.16.0.253
BTW. As far as I know, you can use scheduler hints to implicitly assign fixed IP to a given node:
e.g.:
ironic node-update <id-1> replace properties/ capabilities= 'node:controlle r-0,boot_ option: local' capabilities= 'node:controlle r-1,boot_ option: local' capabilities= 'node:controlle r-2,boot_ option: local'
ironic node-update <id-2> replace properties/
ironic node-update <id-3> replace properties/
So you have controller-0, controller-1 and controller-2.
You can modify an example tripleo- heat-templates/ environments/ ips-from- pool.yaml like below"
parameter_defaults:
ControllerIPs:
# Each controller will get an IP from the lists below, first controller, first IP
external:
- 10.0.0.251 # scheduler parses controller-0 to index 0
- 10.0.0.252 # scheduler parses controller-1 to index 1
- 10.0.0.253 # scheduler parses controller-2 to index 2
internal_api:
- 172.16.2.251
- 172.16.2.252
- 172.16.2.253
storage:
- 172.16.1.251
- 172.16.2.252
- 172.16.2.253
storage_mgmt:
- 172.16.3.251
- 172.16.3.252
- 172.16.3.253
tenant:
- 172.16.0.251
- 172.16.0.252
- 172.16.0.253