роли, при прогоне на ОС CentOS7 play смотрит только в каталог debian/ и все пускает в skip ?
roles/
test-role/
tasks/
main.yml
debian/
run.yml
centos/
run.yml
tasks/main.yml содержит:
- import_tasks: debian/run.yml
when: ansible_distribution == "Debian" and ansible_distribution_major_version == "11"
- import_tasks: centos/run.yml
when: ansible_distribution == "CentOS" and ansible_distribution_major_version == "7"
role play playbook
---
- hosts: server1
gather_facts: true
become: true
roles:
- test-role
а зачем так сложно ? Сделай один таск - import_tasks: "{{ ansible_distribution | lower }}/run.yml"
Я как пример только часть кода выслал. А так, у меня в каждом каталоге debian/ и centos/ не только один run.yml лежит но и еще несколько yml файлов. Я по этому и разбил по каталогам что бы все таски в одну кучу не класть.
и как это противоречит моему примеру ? ))
а если попробовать include_tasks ?
Спасибо. Попробую сейчас выполнить.
Выведите дебагом значения ansible_distribution и ansible_distribution_major_version и посмотрите, что там в них. Бывает всякое.
Обсуждают сегодня