我有一本大型剧本,它使用多个角色来设置新服务器。我想重新使用剧本,但在退役阶段,而不是调用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
但是,要保持这种状态真的很难看。这有可能还是我忽略了设置剧本的另一种方法?
答案 0 :(得分:2)
告诉Ansible呼叫角色,但从role_name / tasks / decommission.yml开始
- include_role:
name: role_name
tasks_from: decommission.yml