小编Ton*_*ffe的帖子

Ansible-使用逻辑OR匹配主机组

我正在尝试使它仅适用于我的dev和hydra服务器。我有2个主机文件,其中有主机。dev-all主机组是 [dev-all:children] dev-group1 dev-group2

hydra组仅包含一台服务器,但位于不同的主机文件中。当我运行ansible时,我使用hydra group这样的命令,ansible-playbook -i environments/hydra site.yml而对于dev组则使用此命令ansible-playbook -i environments/dev site.yml

我的问题是,当条件仅在调用hydra时适用于hydra或在调用dev时仅适用于dev-all时,如何获得此信息?这将帮助我避免将此组添加到另一个主机文件中的prod服务器中。dev-all组在dev文件中包含许多dev服务器组,而我基本上是试图从主机文件中包含所有这些服务器组,因此我将dev-all:children组包含在内。

我似乎无法让它们匹配when OR条件。也许有更好的方式编写when语句。

- name: add dev environment sudo user group group: name=dev_sudo state=present gid=8002 tags: - groups - sudo-group when: (inventory_hostname in groups["dev-all"]) or (inventory_hostname in groups['hydra'])

ansible ansible-inventory

5
推荐指数
1
解决办法
6018
查看次数

标签 统计

ansible ×1

ansible-inventory ×1