2016-04-13 5 views
0

Variable Interpolation funktioniert nicht in einigen verschachtelten Kontext.Ansible Variable Interpolation in der Liste der Wörterbücher

Wenn ich eine Vars-Datei enthält, die so etwas wie dieses hat:

some_current_user: "{{ ansible_ssh_user }}" 
some_user_vars: [{blah: "{{ ansible_ssh_user }}"}] # oops! 

Die zweite Variable wird nicht wie erwartet interpoliert. Gibt es eine Möglichkeit, das zu beheben?

Diese Aufgabe

- debug: var=some_current_user 
- debug: 
    msg: "blah - {{ item.blah }}" 
    with_items: "{{ some_user_vars }}" 

Ergebnisse in

TASK [debug] 
******************************************************************* 
ok: [my.host] => { 
    "some_current_user": "myuser" 
} 

TASK [debug] ******************************************************************* 
ok: [my.host] => (item={u'blah': None}) => { 
    "invocation": { 
     "module_args": { 
      "msg": "blah - " 
     }, 
     "module_name": "debug" 
    }, 
    "item": { 
     "blah": null 
    }, 
    "msg": "blah - " 
} 
+0

Was ist Ihre ansible Version? Funktioniert bei mir. '(item = {'blah': u'myuser '})' – helloV

+0

Ich benutze ansible Version '2.0.1.0' – peter

+0

Ja, es schlägt in 2.0.1.0 aber funktioniert in 1.9.2 – helloV

Antwort

0

Dies scheint ein Fehler gewesen zu sein und ist in ansible 2.1.0.0 behoben.