++ looping tem. Missed to loop team. On Sun, Sep 11, 2022 at 2:48 PM Aharonu <[email protected]> wrote:
> What I understood from Clustes.csv file is, it is pring first volume names > and then status. Example like > Clusters,192,168.0.1,volume1,volume2,volume3,online,online,online > Clusters,192,168.0.2,volume7,volume8,volume9,online,online,online > > > On Sun, Sep 11, 2022 at 2:42 PM Aharonu <[email protected]> wrote: > >> Hi, >> >> Sorry for delay in response. >> >> Per your suggestion i have update my playbook but it seems still >> something is missing. Could you please take a look once. Thank you. >> >> Playbook: >> --- >> - name: Ontap REST API >> hosts: localhost >> gather_facts: false >> collections: >> - netapp.ontap >> vars_files: >> - /home/u630850/facts/var_file.yml >> - /home/u630850/facts/admin_clusters.yml >> >> *vars: csv_query: '[].[`Clusters`, key, value[].**volume**, value[].* >> *state* >> *]' csv: "{{ Clusters|dict2items|json_query(csv_query)| >> map('flatten')|map('join', ',')|list }}"* >> login: &login >> #hostname: "{{ admin_ip }}" >> username: "{{ admin_username }}" >> password: "{{ admin_password }}" >> https: true >> validate_certs: false >> feature_flags: >> trace_apis: true >> tasks: >> - name: run ontap REST API command as cluster admin - get version >> netapp.ontap.na_ontap_rest_cli: >> use_rest: Always >> hostname: "{{ item }}" >> #use_python_keys: true >> <<: *login >> command: 'volume' >> verb: 'GET' >> params: {'volume': '*','state': 'online'} >> register: ontap >> loop: "{{ admin_clusters }}" >> *loop_control:* >> label: "{{ item }}" >> - set_fact: >> Clusters: "{{ Clusters |default({}) | combine( {item.item: item >> |* json_query(get_attrs)*}) }}" >> vars: >> get_attrs: "msg.records[*].{*volume: volume, state: state*}" >> loop: "{{ ontap.results }}" >> no_log: true >> - name: volume size and utilize list >> debug: var=Clusters >> >> >> >> *- name: copy csv data to file copy: dest: >> /home/u630850/facts/Clusters.csv content: "{{ csv|join('\n') }}"* >> ... >> >> I am getting in Cluster variable output as below:( big list shored ) >> Clusters: >> 10.250.198.160: >> - state: online >> volume: Dan_1 >> - state: online >> volume: Dan_SVM_root >> 10.250.198.50: >> - state: online >> volume: Dan_root >> - state: online >> volume: Dan_root_ls01 >> >> But I am getting in CSV file as an attachment. >> >> Once again, thank you so much. Looking forward for your reply >> >> >> On Sat, Sep 10, 2022 at 6:04 PM Vladimir Botka <[email protected]> wrote: >> >>> Create the list. Put the below declarations into *vars* >>> >>> csv_query: '[].[`Clusters`, key, value[].node, value[].state]' >>> csv: "{{ Clusters|dict2items|json_query(csv_query)| >>> map('flatten')|map('join', ',')|list }}" >>> >>> gives >>> >>> csv: >>> - Clusters,192.168.1.1,node1,up >>> - Clusters,192.168.1.2,node2,down >>> - Clusters,192.168.1.3,node3,up >>> >>> Write the file >>> >>> - copy: >>> dest: /tmp/Clusters.csv >>> content: "{{ csv|join('\n') }}" >>> >>> gives >>> >>> shell> cat /tmp/Clusters.csv >>> Clusters,192.168.1.1,node1,up >>> Clusters,192.168.1.2,node2,down >>> Clusters,192.168.1.3,node3,up >>> >>> -- >>> Vladimir Botka >>> >> -- 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/CANGEjuXZn54h03bPDFLFi05fyjL9LcHq0_hkDjhObaRL02%3DAHw%40mail.gmail.com.
