kayobe/ansible/roles/gather-facts-delegated/defaults/main.yml
Matt Crees 498de81efe Fix: configure etc-hosts for overcloud group
Change the etc-hosts role to run on the overcloud group, as using
``ansible_play_hosts_all`` would exclude hosts when running with a
limit.

Also change the gather-facts-delegated role to run on the overcloud
group. The delegated task needs to be included separately as the hostvar
``ansible_host`` cannot be set dynamically based on a loop item in one
task. We loop over the batch indices here so that the tasks are included
in parallel, rather than in series.

Closes-Bug: #2051714

Change-Id: I0465eafa9e4ff37c96064ea8395f0bd461035b40
2024-03-01 15:18:33 +00:00

9 lines
498 B
YAML

---
gather_facts_delegated_limit_hosts: "{{ groups['overcloud'] }}"
gather_facts_delegated_batch_index: "{{ ansible_play_batch.index(inventory_hostname) }}"
gather_facts_delegated_batch_count: "{{ ansible_play_batch | length }}"
# Use a python list slice to divide the group up.
# Syntax: [<start index>:<end index>:<step size>]
gather_facts_delegated_delegate_hosts: >-
{{ gather_facts_delegated_limit_hosts[gather_facts_delegated_batch_index | int::gather_facts_delegated_batch_count | int] }}