У меня есть большой 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?
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
Сработало отлично - спасибо, извините, что так долго не принимал этот ответ!
Для меня ваш текущий
main.yml
выглядит чистым, но почему бы вместо этого не иметь одну роль для настройки новых серверов и одну для вывода из эксплуатации?