Чтобы убедиться, что каждая группа хостов проходит по отдельности, вы можете использовать следующий код (или что-то подобное).Инструкция if
предназначена для того, чтобы убедиться, что вы перебираете только группу с именем web<number>
:
{% for group in groups %}
{% if group | regex_search('^web\d+') %}
{% for host in groups[group] %}
--- block of code ---
{% endfor %}
{% endif %}
{% endfor %}
Это был мой первоначальный ответ.Оставьте это здесь на случай, если это поможет кому-то еще.
Вместо этого используйте родительскую группу хостов.В зависимости от вашего конкретного случая использования, это, вероятно, лучший и безопасный подход в любом случае.
Инвентарь:
[web1]
host1
host2
[web2]
host3
host4
[web:children]
web1
web2
Цикл:
{% for host in groups['web'] %}
--- block of code ---
{% endfor %}