b2a60340c2
Without this there may not be a gateway configured after the control plane nodes are provisioned, meaning they cannot access the outside world.
52 lines
1.9 KiB
YAML
52 lines
1.9 KiB
YAML
---
|
|
# Update the Bifrost inventory with the IP allocation and other variables.
|
|
|
|
- name: Ensure the Bifrost controller inventory is initialised
|
|
hosts: seed
|
|
gather_facts: no
|
|
tasks:
|
|
- name: Ensure the Bifrost host variables directory exists
|
|
file:
|
|
path: "/etc/kolla/bifrost/inventory/host_vars"
|
|
state: directory
|
|
become: True
|
|
|
|
- name: Ensure the Bifrost inventory exists
|
|
file:
|
|
path: "/etc/kolla/bifrost/inventory/bifrost_inventory.py"
|
|
src: "/bifrost/playbooks/inventory/bifrost_inventory.py"
|
|
state: link
|
|
# This file should only exist within the bifrost_deploy container.
|
|
force: True
|
|
become: True
|
|
|
|
- name: Ensure the Bifrost controller inventory is populated
|
|
hosts: controllers
|
|
gather_facts: no
|
|
vars:
|
|
seed_host: "{{ groups['seed'][0] }}"
|
|
bifrost_hostvars:
|
|
# Also supports vlan_id and network_mtu.
|
|
addressing_mode: static
|
|
ipv4_interface_mac: "{% raw %}{{ extra.pxe_interface_mac | default }}{% endraw %}"
|
|
ipv4_address: "{{ provision_oc_net_name | net_ip }}"
|
|
ipv4_subnet_mask: "{{ provision_oc_net_name | net_cidr | ipaddr('netmask') }}"
|
|
# If the provisioning network does not have a gateway defined, use the
|
|
# seed as a gateway to allow external access until other networks have
|
|
# been configured.
|
|
ipv4_gateway: "{{ provision_oc_net_name | net_gateway or provision_oc_net_name | net_ip(seed_host) }}"
|
|
ipv4_nameserver: "{{ resolv_nameservers[0] }}"
|
|
tasks:
|
|
- name: Ensure the Bifrost host variable files exist
|
|
copy:
|
|
content: |
|
|
---
|
|
# This file is managed via Ansible. Do not edit.
|
|
# Bifrost host variables for {{ inventory_hostname }}
|
|
{{ bifrost_hostvars | to_nice_yaml }}
|
|
dest: "/etc/kolla/bifrost/inventory/host_vars/{{ inventory_hostname }}"
|
|
delegate_to: "{{ item }}"
|
|
with_items:
|
|
- "{{ hostvars[seed_host].ansible_host }}"
|
|
become: True
|