That doesn't work for me. Here is a simple playbook for testing:
---
- hosts: localhost
gather_facts: no
vars:
otherips: ""
tasks:
- set_fact:
otherips: "{{ otherips }},{{ item }}"
with_items: groups['web_servers']
- debug: var=otherips
On 1.9 it sets otherips to the last item:
$ ansible-playbook -i test_hosts loop_hosts.yml
PLAY [localhost]
**************************************************************
TASK: [set_fact ]
*************************************************************
ok: [localhost] => (item=web-01)
ok: [localhost] => (item=web-02)
ok: [localhost] => (item=web-03)
TASK: [debug var=otherips]
****************************************************
ok: [localhost] => {
"var": {
"otherips": ",web-03"
}
}
PLAY RECAP
********************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0
While on 2.0 it throws a recursion error:
ansible-playbook -i test_hosts loop_hosts.yml
PLAY:
***************************************************************************
ERROR! recursive loop detected in template string: {{ otherips }},{{ item }}
So I'm not sure if it's possible to do it this way.
On Wednesday, July 1, 2015 at 10:05:07 PM UTC+2, Brian Coca wrote:
>
> something like:
>
> with _items: otherservers
> set_fact:
> otherips: "{{otherips}}, " + hostvars[item]['ansible_' +
> rhel7_interface in hostvars[host]|ternary(['an['ansible_' +
> rhel7_interface, 'ansible_' + default_interface) ....
>
> or I would try using the jinja2 map filter. its going to be ugly in any
> case.
>
>
> --
> Brian Coca
>
--
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/67608d62-16cb-40aa-b9f9-697225d321ab%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.