ansible如何将现有主机添加到组中

时间:2015-08-13 20:27:32

标签: ansible ansible-playbook

我想根据主机上定义的变量将现有主机动态添加到多个组。有没有办法做到这一点。我可以做group_by,但只能把它放在一个组中。

例如在我的主机文件中我有

[dc1hosts]
1.1.1.1
1.1.1.2

[dc1hosts:vars]
iamDB=True
iamCache=True
<more-properties>

[dc2hosts]
2.1.1.1
2.2.2.2

[dc2hosts:vars]
iamDB=True
<some-more-properties>

我想基于谁拥有dbhosts标志以及谁拥有cachehosts标志来生成2个名为iamDBiamCache的组。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:3)

您可以使用add_host module

执行此操作
- name: Create dynamic groups
  add_host: hostname={{ item }} groups=dbhosts,cachehosts
  with_items: groups['all']
  when:
    - iamDB == True
    - iamCache == True

编辑:可能你意味着在满足任何条件的情况下创建两个不同的组......但我认为你能得到这个。