我有以下inventory
文件:
[group_01]
g01_h01 ansible_ssh_host='10.1.0.1'
g01_h01 ansible_ssh_host='10.1.0.2'
[group_02]
g02_h01 ansible_ssh_host='10.2.0.1'
g02_h01 ansible_ssh_host='10.2.0.2'
[group_03:children]
group_01
group_02
[group_03:vars]
fst_group2={{groups['group_02'][0]}}
snd_group1={{groups['group_01'][1]}}
我希望在我的playbook
变量中有以下值:
fst_group2=10.2.0.1
snd_group1=10.1.0.2
相反,我得到了:
fst_group2=g02_h01
snd_group1=g01_h02
有什么想法,变通办法吗?
确实是一项非常奇怪的任务。。。不管怎样,
groups
变量–主机列表,包括g01_h01
、g01_h02
等。
为了达到你的期望,你可以使用这个:
[group_03:vars]
fst_group2={{hostvars[groups['group_02'][0]]['ansible_ssh_host']}}
snd_group1={{hostvars[groups['group_01'][1]]['ansible_ssh_host']}}
请记住,ansible_ssh_host
已被弃用,取而代之的是ansible_host
。