kayobe/ansible/roles/kolla-ansible/templates/seed.j2
Mark Goddard 8dc7ba7889 Use host vars files for kolla ansible inventory
Kayobe writes out several host variables to the Kolla ansible inventory
files, etc/kolla/inventory/seed and etc/kolla/inventory/overcloud. These
include ansible_host, and network interfaces such as api_interface,
ironic_dnsmasq_interface, etc.

In Ansible, these should have a higher precedence than the kolla ansible
group variables in ansible/group_vars/all.yml that set the defaults.
However, in Ansible 2.4+, if the host has the same name as a group that
it is in, the group variables now take precedence, meaning that it is
not possible to override them.

This was observed when using the kayobe-config-dev repo for testing,
where the seed host is in the seed group.

Admittedly ansible does tell you not to do this: [WARNING]:
Found both group and host with same name: localhost

The solution used here is to use a separate host_vars file for each
host. Alternatively we could enforce that hostnames and groups do not
overlap.

Change-Id: I349c8279d85a591689ac8108bce14d96889440fe
Story: 2004418
Task: 28065
2018-12-20 17:03:16 +00:00

19 lines
431 B
Django/Jinja

# Simple inventory for bootstrapping Kolla seed node.
[seed]
{% for seed in groups.get('seed', []) %}
{{ seed }}
{% endfor %}
[seed:vars]
ansible_user={{ kolla_ansible_user }}
{% if kolla_ansible_target_venv is not none %}
# Execute ansible modules on the remote target hosts using a virtualenv.
ansible_python_interpreter={{ kolla_ansible_target_venv }}/bin/python
{% endif %}
[baremetal:children]
seed
[bifrost:children]
seed