Thanks Vladimir. Actually 'delegate_to: localhost' helped, and i'm using it with the copy module itself.
Thanks, Raji On Thu, Aug 29, 2019 at 1:12 PM Vladimir Botka <[email protected]> wrote: > On Thu, 29 Aug 2019 10:50:11 -0700 (PDT) > pk s <[email protected]> wrote: > > > Thanks. It works for localhost. > > > > But let's say i need to save information from a task on all remote hosts > in > > a local file (or files), how do i do it? So that in the next yml file, i > > can load the local file for all remote hosts. > > It's possible to store all "hostvars". For example with this template > > $ cat my_hostvars.json.j2 > my_hostvars_all: > {% for my_host in ansible_play_hosts_all %} > {{ my_host }}: > {{ hostvars[my_host]|to_nice_json }} > {% endfor %} > > the playbook below stores "hostvars" of all hosts in the dictionary > "my_hostvars_all" and put it into the file > "{{ inventory_dir }}/my_hostvars.json" at localhost > > - hosts: test_jails > tasks: > - set_fact: > test_var: "test_var_in_{{ inventory_hostname }}" > - template: > src: my_hostvars.json.j2 > dest: "{{ inventory_dir }}/my_hostvars.json" > delegate_to: localhost > run_once: true > > The dictionary can be included in the next playbook. For example the > playbook > below > > - hosts: test_jails > tasks: > - include_vars: my_hostvars.json > - set_fact: > my_hostvars: "{{ my_hostvars_all[inventory_hostname] }}" > - debug: > var: my_hostvars.test_var > > gives > > ok: [test_01] => { > "my_hostvars.test_var": "test_var_in_test_01" > } > ok: [test_02] => { > "my_hostvars.test_var": "test_var_in_test_02" > } > ok: [test_03] => { > "my_hostvars.test_var": "test_var_in_test_03" > } > > Cheers, > > -vlado > -- 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/CANrVtKxcyGJ01x1nCiv6fLvfy9jxSOco-60oA%2BpuuhZujeQbBA%40mail.gmail.com.
