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