James,
The following is breaking as well:
{% for k,v in hostvars.iteritems() %}
{{ v['ansible_all_ipv4_addresses'][0] }} {{ v['ansible_hostname']
}}
{% endfor %}
On Tuesday, December 10, 2013 12:11:15 PM UTC-5, James Tanner wrote:
>
> 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] <javascript:>.
> 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.