Instead of using add_host, use include_tasks to include a second task file.
In there, iterate over a “split by comma” list and adds hosts.
This gives you the second level of iteration.

Dick

On Tue, 24 Sep 2019 at 08:45, Mohtashim S <mohtash...@gmail.com> wrote:

> I have an ansible play that fetches multiline data from the database and
> registers it a variable "command_result"
>
> command_result variable has has data like below.
>
> host6,host5\targ3
> host4,host3\targ1
>
> host1,host2,host5\targ2
> .....
> .....
>
>
>
> I need to loop through each line of command_result. Pick the host list for
> example host6,host5 and execute shell script using shell module by passing
> respective argument string i.e arg3.
>
> Likewise, the second shell script should run on  host4 & host3 and pass
> arg1 to the shell script.
>
> The final shell script hould run on  host1, host2 & host5 and pass arg2 to
> the shell script.
>
>    - name: Add hosts
>      add_host:
>        name: "{{ item.split('\t')[0] }}"
>        file_dets: "{{ item.split('\t')[1] }}"
>
>        ansible_host: localhost
>
>        ansible_connection: local
>        groups: dest_nodes
>      with_items: "{{ command_result.stdout_lines }}"
>
>
> - hosts: dest_nodes
>   gather_facts: false
>   tasks:
>     - debug:
>         msg: Run the shell script with the arguments `{{ file_dets }}`
> here"
>
>
> This works fine when there is a single host in  item.split('\t')[0]
>
> However, I do not know the approach when there are multiple hosts like
> host6,host5 for {{ item.split('\t')[0] }}
>
>
>
> --
> 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 ansible-project+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/ef6c8ef7-7462-4e05-8025-7d1f514329b7%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/ef6c8ef7-7462-4e05-8025-7d1f514329b7%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
-- 
Sent from a mobile device - please excuse the brevity, spelling and
punctuation.

-- 
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 ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAL8fbwMbqDejy9YNhgzQvOmWayu03Dj8QjE0nS7Waj0ZY-zvLQ%40mail.gmail.com.

Reply via email to