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.

Reply via email to