On 12/10/2013 11:24 AM, Vasiliy Boulytchev wrote:
Folks, The following code is producing errors.
code:
|{% for v in hostvars.iteritems() %}
{{ v['ansible_all_ipv4_addresses'][0] }} {{ v['ansible_hostname'] }}
{% endfor %}
|
error:
|{'msg': "One or more undefined variables: 'tuple object' has no attribute
'ansible_all_ipv4_addresses'", 'failed': True}
|
What should this look like if i wanted an /etc/hosts file like:
|192.168.111.222 hostnameA
192.168.111.211 hostnameB
...
|
Thanks!
--
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].
For more options, visit https://groups.google.com/groups/opt_out.
iteritems() returns a tuple so you need to assign two variables:
{% for k,v in hostvars.iteritems() %}
{{ k }}
{{ v['ansible_all_ipv4_addresses'][0] }} {{ v['ansible_hostname'] }}
{% endfor %}
"k" will be the inventory hostname and "v" will be all of the vars for k.
Example output:
jtanner@u1304:~$ cat /tmp/vadata.txt
localhost
192.168.1.105 u1304
--
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].
For more options, visit https://groups.google.com/groups/opt_out.