On Friday, 23 February 2018 13.28.32 CET David Fazeli wrote:
> Please explain to me how can I fix this problem? i have this file
> defaults/main.yml
>
> ---
> node1:
> ip: 1.1.1.1
>
> node2:
> ip: 2.2.2.2
>
> node3:
> ip: 3.3.3.3
>
>
> Now, I want in template file ip.j2 by for loop access the IPs of each
> server and save in address variable
>
> Like this:
>
> address= 1.1.1.1,2.2.2.2,3.3.3.3
>
>
> I tried this code:
>
> address={% for x in {{nubmer_nodes}} %}
You are already in template mode so you can't use {{ }}
address={% for x in nubmer_nodes %}
You have not shown your nubmer_nodes, but to make it work it need to be [1, 2,
3] for it to work.
> {{node[x].ip}}
This try to look up a likt named node, you need
{{ vars['node' ~ x }}
> {% if loop.last %},{% endif %}
This will only print , at the end, you are missing a not.
And to suppress the newline in the previous line you also need a - added
{%- if not loop.last %},{% endif %}
--
Kai Stian Olstad
--
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/4861333.f4AaPEDd7g%40x1.
For more options, visit https://groups.google.com/d/optout.