LINUX.ORG.RU
решено ФорумAdmin

ansible - две роли в одной

 ,


0

1

Не знаю, с какой стороны взяться.

Есть одна роль (один yml-файл), где перечислены таски. С ними проблем нет, там всё просто. Нужно, чтобы по какому-то параметру или переключателю можно было либо выполнить их все, либо только определённую часть. В идеале, хотелось бы видеть (в данном случае для выполнения только части) что-то наподобие:

ansible-playbook ./playbook.yml -i ./myhosts --only-some-tasks


Подскажите, как наиболее прямо это реализовать? Вопрос именно про случай, когда дёргается всегда один и тот же файл.

★★★★★

Последнее исправление: yu-boot (всего исправлений: 2)

Есть одна роль (один yml-файл), где перечислены таски.

Похоже, вы перепутали роль и playbook

Нужно, чтобы по какому-то параметру или переключателю можно было либо выполнить их все, либо только определённую часть

Как вариант, можно использовать теги

https://stackoverflow.com/questions/23945201/how-to-run-only-one-task-in-ansible-playbook

router ★★★★★
()
- name: My task 1
  include_tasks: tasks/task1.yaml
  when: (foo is defined and foo == 'bar')

- name: My task 2
  include_tasks: tasks/task1.yaml
  when: (foo is defined and foo == 'bar')

- name: My task for all
  include_tasks: tasks/task_for_all.yaml                                                                                   

Запускать так:

ansible-playbook ./playbook.yml -i ./myhosts --extra-vars "foo=bar"

Можно инклудить твои таски в основной плэйбук по некоторому условию. Как результат выполнятся только те, которые ему (или набору условий) соответствуют.

Не знаю насколько это тру, но работает.

BOOBLIK ★★★★
()
Ответ на: комментарий от router

Похоже, вы перепутали роль и playbook

Роли состоят из tasks, playbooks состоят из plays

FireFighter ★★★
()
Ответ на: комментарий от BOOBLIK

Да, именно такое хотел, спасибо.

yu-boot ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.