2016-05-18 12 views
0

Ist es sogar möglich, während der Ausführung einer Wiedergabe für eine andere Gruppe auf eine Gruppenvariable zu verweisen?Verwendung von Ansible-Inventory-Variablen in Vorlagen

ich einen bestimmten Fall so haben:

/etc/ansible/hosts

[group1] 
server1.test.org 

[group2] 
server2.test.com 

[group2:vars] 
foo=bar 

ein Spiel für Gruppe1

- name: test variables... 
    hosts: group1 
    gather_facts: no 
    tasks: 
     - debug: msg="foo={{ groups[group2].foo }}" 

Arbeits Es ist nicht Rennen, ich habe andere versucht Syntaxvarianten ohne Erfolg.

Antwort

0

In den Gruppen sind keine Variablen definiert, wenn das Inventar initialisiert wird. Die Hosts erhalten eine Kopie dessen, was für Gruppenvariablen definiert ist. Um zu tun, was Sie wollen, müssen Sie von einem Host lesen. Versuchen Sie dies:

- name: test variables... 
    hosts: group1 
    gather_facts: no 
    tasks: 
    - debug: msg="foo={{ hostvars[groups['group2'][0]].foo }}" 
+0

es funktioniert! Danke [Petro026] (http://stackoverflow.com/users/2847921/petro026) –

Verwandte Themen