We have a lot of config that wants to fill in templates based on a 
particular server's "number" within a certain group.

For example, if we have an inventory file with:
[fooservers]
steve
larry
frank
eleanor

...we then want to configure steve's templates with "foo01", larry with 
"foo02", frank with "foo03", etc.
In most cases I've been using the following pattern inside of templates:
{% for pt in groups.ptservers %}
{% if inventory_hostname == pt %}
 special_identifier = foo{{ '%02d' % loop.index }}
{% endif %}
{% endfor %}


This has worked well for limited use, but is there an easier way to store 
the server's associated loop_index for reuse at either the playbook or 
template level?
We have reached a point where we have a template that needs to use this 
value 27 times, and I don't want to have to clutter everything up with 27 
loops...

I tried using {% set %} in the template inside of the loop. but set has 
local scope, so it's unusable afterwards.

Has anyone else come up with a good solution for this pattern or do I just 
need to make a really really ugly template?

-- 
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/b9bc41a1-a3f6-4f93-ab32-ef6435f56f32%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to