2015-10-29 34 views

risposta

19

ora supportato come di Ansible 2.3.0:

- name: myrole 
     with_items: 
     - "aone" 
     - "atwo" 
     include_role: 
     name: myrole 
     vars: 
     thing: "{{ item }}" 
+0

@tomasbedrich puoi verificarlo? Non funziona per me. –

+1

Si noti che se si utilizzano loop in "myrole", è necessario aggiungere 'loop_control: loop_var: foo' per evitare la collisione con i loop interni. –

9

Al momento ci sono no way to loop over a role ma come indicato nella discussione su Google Group è possibile passare un elenco o dettare il ruolo e quindi collegarlo internamente.

Così, invece si potrebbe fare qualcosa di simile:

# loop_role/tasks/main.yml 

- name: debug item 
    debug: var="{{ item }}" 
    with_items: my_array 

E poi usare in questo modo:

- hosts: all 
    vars: 
    my_array: 
     - foo 
     - bar 
     - baz 
    roles: 
    - { role: loop_role, my_array: "{{ my_array }}" } 
Problemi correlati