2016-05-13 4 views
-2

在庫ファイル内の別々の変数グループ内の同じ名前の変数を使用しています。例えば別のグループ変数に同じ変数名を使用する可能性がある在庫

###hosts file#### 
[GROUP1] 
var1 127.0.0.1 
var2 127.0.0.1 
[GROUP2] 
var1 127.1.0.1 
var2 127.1.0.1 

私はGROUP2のVAR1に私の脚本を適用するために知っているしたいと思います。どうすればいい?たとえば :

- hosts: GROUP2.var1 
    become: root 
    gather_facts: no 
    remote_user: user 

答えて

1

あなたは第二グループの第一ホスト上で脚本を実行したい場合は、使用することができます。

- hosts: {{groups.GROUP2[0]}} 
    become: root 
    gather_facts: no 
    remote_user: user 

ただ一つのことは、VAR1は、ホストまたは変数がそのホストに対して定義もありますか?上記の{{groups.group2[0]}}は、ホスト変数ではありません。任意のタスクでその変数を使用する場合は、{{ hostvars[groups['GROUP2'][0]].var1 }}を使用します。

また、ホストファイルでは、varsとhostを定義する正しい方法は、最初のホストとそれからvarsです。

[GROUP1] 
127.0.0.1 var1=something 
127.0.0.1 var2=something2 
...... 
関連する問題