2016-08-05 61 views
0

我有以下inventory文件:提取服务器IP

[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 

任何想法,解决方法?

回答

0

很奇怪的任务的确...无论如何,

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