我们有使用Ansible部署应用程序的用例,ansible库存具有多个主机组,在某些情况下,相同的主机在多个主机组之间共享
inventoryfile.ini如下:
[prod-apphostgroup1]
host01.local given_name=host01
host02.local given_name=host02
[prod-apphostgroup2]
host01.local given_name=host01
host02.local given_name=host02
正在Ubuntu机器上进行部署。无论如何,如果我们要部署到这些主机组,由于apt锁定问题会发生,这将导致部署失败,因此我们无法并行运行。
我正在尝试执行以下操作:
为应用程序列表设置部署顺序,此列表是静态的
一级
为了更新部署顺序查找,我需要查找清单中是否共享了任何主机组。我正在部署到多个站点,在某些站点中,每个应用程序都与唯一的主机组相关联,在某些站点中其共享。
是否有任何方法可以找到一个主机组的列表,该主机组具有与一个特定站点中的其他主机组共享的主机(清单文件)
任何对类似问题或文档的引用都将受到赞赏。
谢谢!
答案 0 :(得分:0)
回答您的问题
是否有任何办法无法找到在一个特定站点(清单文件)中具有与其他主机组共享主机的主机组列表?
不。没有,您可以自己解析清单文件。 groups 变量中提供了Ansible中的所有组和主机。见
- debug: var=groups
Filters可用于查找两组的相交和差异。