Ответ
Для организации транзитивности в Ansible используйте import_playbook или include_tasks.
Пример:
# main.yml
- import_playbook: common.yml
- import_playbook: webservers.yml
Нюансы:
import_playbookвыполняется статически (при парсинге), аinclude_tasks— динамически (во время выполнения).- Переменные и теги транзитивны при импорте, но
include_tasksможет зависеть от условий выполнения.
Пример с условием:
- include_tasks: setup_db.yml
when: db_required
Используйте import_* для общих настроек, include_* для гибкости.