Ansible:如何包含所有主机但在特定主机上运行角色?

时间:2018-06-13 17:21:46

标签: ansible roles hosts ansible-inventory ansible-facts

我正在尝试包含所有主机,因为我想在其他主机配置中使用一个主机事实。

但我有

  • 所有
  • 共同的任务
  • 两组共同的任务
  • 个人小组的任务。

当我尝试以下方式时,所有主机上都运行所有任务。如何确保在特定组中应用角色?

- hosts: Local:Global:Stream

  tasks:
  - include_role:
      name: global
    when: host in groups['Global']

  - include_role:
      name: local
    when: host in groups['Local']

  - include_role:
      name: stream
    when: host in groups['Stream']

1 个答案:

答案 0 :(得分:0)

试试inventory_hostname。我也更喜欢点语法,但如果你的名字合适,那就不重要了。

when: inventory_hostname in groups.admin