d'oh!  I should have known that.  Thanks a bunch!

On Tue, Jun 24, 2014 at 11:05 AM, Michael Peters <[email protected]>
wrote:

> When inside the {% %} part you are inside of jinja and don't need
> special syntax to tell it that your using jinja variables. Something
> like this should work:
>
> {% for host in groups[deploy_env + '-web'] %}
>     server {{ host }} {{ host }}:80
> {% endfor %}
>
> On Tue, Jun 24, 2014 at 10:48 AM, Claus Strommer
> <[email protected]> wrote:
> > Hi there,
> >
> > I have a play with a role that creates a load balancer template.  I've
> > successfully tested it in my dev environment, using
> >
> >
> > {% for host in groups['dev-web'] %}
> >     server {{ host }} {{ host }}:80
> > {% endfor %}
> >
> >
> > the 'dev-web' group is defined in my inventory, as well as 'stage-web',
> > 'prod-web', etc.  What I'd like to do is change this template so that it
> can
> > be used in any environment.  I am already passing a parameter upon
> calling
> > the play,  --extra-vars "deploy_env=dev".  In the play itself I can use
> this
> > variable to determine on which balancer the template gets applied, by
> using
> > something like this:
> >
> >
> > - hosts: [ '{{ deploy_env }}-bal' ]
> >   serial: 1
> >   vars_files:
> >   - /var/lib/ansible/vars/{{ deploy_env }}.yml
> >   roles:
> >   - role: "haproxy-webbal"
> >
> >
> > However, if I try something similar in the template, e.g.
> >
> >
> > {% for host in groups['{{ deploy_env }}-web'] %}
> >     server {{ host }} {{ host }}:80
> > {% endfor %}
> >
> > I get this error:
> >
> >
> > fatal: [stage-webbal-06.aws.primal.com] => {'msg': "One or more
> undefined
> > variables: 'dict object' has no attribute '{{ deploy_env }}-varnish'",
> > 'failed': True}
> >
> >
> > It seems that {{ deploy_env }} is not being expanded, and it's being
> taken
> > as a literal.  Is this because it's within the {% %} section?  If so,
> then
> > what is the correct syntax for doing this?  Alternatively, is there a
> > cleaner way to approach this?
> >
> >
> >
> > --
> > 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/CABkDv%2B5o4bLiUiNgr-UxP9P8hWpe0SxkhPvhb-T25VrErrMvkw%40mail.gmail.com
> .
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> 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/CAJQqANcG1mjVJXe%2BtR9e6ssk1mivcvtdFce5tfWns4ydOnFrgg%40mail.gmail.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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/CABkDv%2B6vkXOH3_aMgfm8TCkgXCxZW9%3DyAuKA6m88QEBQDf78Kg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to