I use ansible 2.1 and I want to run a command to a group of hosts, using 
delegate_to. I use localhost (ansible) as the hosts param and I want to 
delegate a “touch” command to both of cls hosts.

I have the following yml (for test purposes):

---
- hosts: ansible
#  gather_facts: yes

  tasks:
  - debug: var=groups.cls

  - name: touch a file to running host
    shell: echo {{ item }} >> /tmp/{{ inventory_hostname }}
    delegate_to: "{{ item }}"
    with_items: "{{ groups.cls }}"

with output:

[root@ansible control]# ansible-playbook -i inventory test.yml

PLAY ***************************************************************************

TASK [setup] *******************************************************************
ok: [ansible]

TASK [debug] *******************************************************************
ok: [ansible] => {
    "groups.cls": [
        "cls-host-1",
        "cls-host-2"
    ]
}

TASK [touch a file to running host] ********************************************
changed: [ansible -> cls-host-1] => (item=cls-host-1)
changed: [ansible -> cls-host-2] => (item=cls-host-2)

PLAY RECAP *********************************************************************
ansible                    : ok=3    changed=1    unreachable=0    failed=0

but the touch is done only on the first host with both entries:

[root@cls-host-1 ~]# more /tmp/ansible
cls-host-1
cls-host-2

Is anything wrong? Can I delegate the command with any other way?

-- 
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 post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/1f2d5367-5802-44c4-8a83-acf846f3bfd1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to