从“任务/alternate.yml”而不是“任务/main.yml”开始的角色

时间:2019-03-04 22:55:30

标签: ansible ansible-role

我有一本大型剧本,它使用多个角色来设置新服务器。我想重新使用剧本,但在退役阶段,而不是调用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

但是,要保持这种状态真的很难看。这有可能还是我忽略了设置剧本的另一种方法?

1 个答案:

答案 0 :(得分:2)

  

告诉Ansible呼叫角色,但从role_name / tasks / decommission.yml开始

使用include_role

- include_role:
    name: role_name
    tasks_from: decommission.yml