如上图所示的系统设置。
库存文件
[group1]
host1
host2
host3
[group2]
host4
host5
host6
我想要做的是,当我使用一些roleA配置来自group1的主机时,我想成对地触发group2主机的roleB,这样-
在这里,host1也将用作host4配置文件中的变量
基本上是成对配置(主机1,主机4),(主机2,主机5)等。在Ansible中这可能吗?请举个例子,我已经对此坚持了很多时间
答案 0 :(得分:1)
基本上,您可以使用host_vars定义清单,如下所示:
[server_set1]
test1.labserver.com server_pair=test4.labserver.com
test2.labserver.com server_pair=test5.labserver.com
test3.labserver.com server_pair=test6.labserver.com
[server_set2]
test4.labserver.com
test5.labserver.com
test6.labserver.com
然后,只要您运行剧本,就可以获取变量“ server_pair”,并对其配对服务器运行角色B。
ansible -m debug -a "msg={{ server_pair }}" test3.labserver.com -i inventory
test3.labserver.com | SUCCESS => {
"changed": false,
"msg": "test6.labserver.com"
}
如果您正在寻找这种类型的解决方案,Ansible不提供任何机制来自动实现此目的。你必须要得到一对
以编程方式。