我可以根据基本机器运行一本剧本

时间:2017-11-26 19:05:27

标签: ansible

假设我为Ubuntu和CentOS机器安装了Nagios安装的剧本。如何根据基本机器调用剧本?

我希望在它是Ubuntu机器时加载nagios_ubuntu playbook,为CentOS加载nagios_centos playbook。

1 个答案:

答案 0 :(得分:0)

您可以将Best Practices部分中描述的示例与group_by一起使用。

您仍然需要修改剧本本身以包含适当的hosts声明,例如:

nagios_centos.yml

---
- hosts: nagios_centos
# ... the rest of the play

nagios_ubuntu.yml

---
- hosts: nagios_ubuntu
# ... the rest of the play

主要剧本:

---
- hosts: all
  tasks:
     - group_by:
         key: nagios_{{ ansible_os_family | lower }}

- import_playbook: nagios_centos.yml

- import_playbook: nagios_ubuntu.yml

由于hosts定义,只有一个剧本能够有效运行。