On 4/17/20 10:54 AM, mahesh g o wrote:
> I have below playbook:
> 
> i have put a loop, there are 8 aggr and 4 protocols: this playbook output is 
> like after every 4 loop, it increments aggr
> and protocols. 
> 
> output of the playbook is:
> 
> svm1,svm2,svm3,svm4---aggr1 and nfs
> svm5,svm6,svm7,svm8---aggr2 and iscsi
> svm9,svm10,svm11,svm12---aggr3 and cifs
> svm13,svm14,svm15,svm16---aggr4 and fcp
> 
> currently the ansible is failing because after 16th loop it is not finding 
> any protocols.
> 
> but after 16th loop i want protcols to repeat :
> 
> expecting ouput:
> 
> svm17,svm18,svm19,svm20---aggr5 and nfs
> svm21,svm22,svm23,svm24---aggr6 and iscsi
> svm25,svm26,svm27,svm28---aggr7 and cifs
> svm29,svm30,svm31,svm32---aggr8 and fcp
> 
> 
> 
> - hosts: localhost
>   gather_facts: false
>   vars_files:
>     - /etc/ansible/group_vars/host_vars
> 
>   vars:
>     aggr:
>       - aggr_1
>       - aggr_2
>       - aggr_3
>       - aggr_4
>       - aggr_5
>       - aggr_6
>       - aggr_7
>       - aggr_8
>     protocols:
>       - nfs
>       - iscsi
>       - cifs
>       - fcp
>   tasks:
>     - name: Create SVM
>       na_ontap_svm:
>         state: present
>         name: "svm{{ item }}"
>         root_volume: "svm{{ item }}_root_vol"
>         root_volume_aggregate: "{{ aggr[((item|int-1)//4)] }}"
>         allowed_protocols: "{{ protocols[(((item)|int-1)//4)] }}"
>         root_volume_security_style: mixed
>         hostname: "{{ aiqumip }}"
>         username: "{{ aiqumusername }}"
>         password: "{{ aiqumpassword }}"
>         https: false
>       with_sequence: start=1 end=32

There is better way to handle all permutations. Replace with_sequence:

  loop: "{{ aggr | product(protocols) | list }}"
  loop_control:
        index_var: "loop_index"

Then adjust your module parameters:

  name: "svm{{ loop_index + 1 }}"
  root_volume: "svm{{ loop_index + 1 }}_root_vol"
  root_volume_aggregate: "{{ item[0] }}"
  allowed_protocols: "{{ item[1] }}"

That should do the trick.

Regards
           Racke

-- 
Ecommerce and Linux consulting + Perl and web application programming.
Debian and Sympa administration. Provisioning with Ansible.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/b3e2187e-0099-3db4-7375-94a1ba2fb0a5%40linuxia.de.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to