从清单文件中的组中提取服务器IP



我有以下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_h01g01_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

最新更新