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.
