Есть несколько групп серверов, условно alfa, beta, gamma.
Под каждый из них есть свой playbook c отдельными и общими задачами, типа:
alfa.yml
- hosts: alfa
- roles:
- common
- nginx
beta.yml
- hosts: beta
- roles:
- common
- database
Как бы создать такой meta-playbook, который запускал бы все остальные? Понятно, что можно сделать include, но тогда они будут выполняться step-by-step, а не параллельно. Или я ошибаюсь?
Согласен, но одно дело role:common которая выполняется везде параллельно, а другое дело - последовательный include, который будет common выполнять на каждой группе отдельно.
Пума Тайланд: Я похоже невнятно описал ситуацию. Есть несколько плейбуков - alfa, beta, gamma, которые инклудят общую роль common. как запустить их вместе, учитывая что основной таск, common, очень долгоиграющий, но при этом у них есть свои отдельные роли? Если сделать
foo:
- include:
- alfa.yml
- beta.yml
- gamma.yml
то они выполняются step-by-step, а не вместе.
Про async я в курсе, спасибо (кстати, with_items он не работает).
Я никак не могу понять как запустить деплой на всех серверах одновременно. Т.е. чтобы группы alfa, beta, etc начали одновременно выполнять долгоиграющий common role