Начальная роль из "tasks/alternate.yml" вместо "tasks/main.yml"

У меня есть большой playbook, который использует несколько ролей для настройки новых серверов. Я хотел бы повторно использовать плейбук, но на этапе вывода из эксплуатации вместо того, чтобы вызывать role_name/tasks/main.yml и иметь много утверждений when:, я хотел бы сказать Ansible вызвать роль, но начать с role_name/tasks/decommission.yml.

В качестве первого теста я настроил свой файл main.yml следующим образом:

 - name: "Provisioning new server"
   block:
     - name: "Include the provisioning steps."
       include_tasks: provision.yml
   when:
     - not decom

 - name: "DECOM - Unregister from Satellite server"
   block:
     - name: "DECOM - Include the deprovision steps."
       include_tasks: decommission.yml
   when:
     - decom

Но это становится действительно уродливым, чтобы поддерживать. Возможно ли это, или я упускаю из виду альтернативный способ настройки playbook?

Для меня ваш текущий main.yml выглядит чистым, но почему бы вместо этого не иметь одну роль для настройки новых серверов и одну для вывода из эксплуатации?

ilias-sp 05.03.2019 00:01
Введение в Ansible Roles
Введение в Ansible Roles
Ansible - это отличный инструмент управления конфигурацией, который можно использовать для автоматизации настройки или развертывания на большом...
2
1
356
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

To tell Ansible to call the role but start in role_name/tasks/decommission.yml

использовать include_role

- include_role:
    name: role_name
    tasks_from: decommission.yml

Сработало отлично - спасибо, извините, что так долго не принимал этот ответ!

dan_linder 01.04.2019 01:53

Другие вопросы по теме