我有以下静态清单文件:
[nodes:children]
masters
workers
[masters]
node1 ansible_host=1.2.3.4 ansible_port=2220 ansible_user=vagrant ansible_private_key_file=keys/id_rsa
[workers]
node2 ansible_host=1.2.3.4 ansible_port=2221 ansible_user=vagrant ansible_private_key_file=keys/id_rsa
因为我的主机使用相同的IP,但不同的ssh端口我需要将它们别名,以便ansible可以将它们视为两个主机。
我正在尝试使用动态库存脚本来生成这个,但我很难找到有关我需要返回的json格式的任何信息,更具体地说 - 如何为主机设置别名。
所以我的问题 - 有没有人知道上面的静态库存文件的json等价物,或者我可以在哪里找到有关json格式的信息?
答案 0 :(得分:1)
请阅读this doc有关编写动态广告资源脚本的信息。
有两个步骤:
1)script --list
应返回包含该组中变量和主机名的组(在您的示例中,您应该返回组:nodes
,masters
,workers
和主机:node1
和node2
)。
2)script --host <hostname>
应该返回主机的变量(在您的示例连接变量中,如ansible_host
和ansible_port
)。
因此,在您的示例中,库存脚本在使用--list
,--host node1
和--host node2
执行时应返回3个不同的json对象。