Excellent. Sounded a bit familiar :)
On Tue, Apr 15, 2014 at 6:44 PM, Garrett Plasky <[email protected]>wrote: > This appears to be the same issue as > https://github.com/ansible/ansible/issues/6677 which has ben fixed and > should roll out with 1.6. > > On Wednesday, April 9, 2014 8:50:39 AM UTC-7, Stephen Gargan wrote: >> >> I'm seeing an issue with variable substitution between versions 1.5.3 and >> 1.5.4. >> >> I have an include file that I use to create vm instances, >> create_instance.yml and a playbook create_cluster.yml that I use to spin up >> all the instances for the cluster in one go. I have variables in my >> group_vars that I use to configure the cluster e.g. the cluster_name and >> when I spin up a new cluster I usually override these using the extras vars >> switch -e >> >> the create_cluster looks something like the following >> >> - hosts: localhost >> connection: local >> gather_facts: False >> >> tasks: >> - {include: create_instance.yml, >> tags: { >> hostname: 'blah_server1', >> ansible_groups: ["{{cluster_name}}", 'blah-servers'], >> cluster_name: "{{cluster_name}}" >> } >> } >> >> create_instance.yml looks like >> >> - debug: msg="creating instance for cluster '{{ cluster_name }}' >> '{{tags}}' " >> >> >> group_vars/all >> >> cluster_name: dev >> >> For instance to spin up a new 'qa' cluster, I would issue >> >> ansible-playbook -i hosts create_cluster.yml -e cluster_name=qa >> >> Up until recently this would correctly override the cluster_name variable >> as expected and produce the output below. (Specifically notice how the >> cluster_name is set to qa in the debug message) >> >> >> PLAY [localhost] ****************************** >> ******************************** >> >> TASK: [debug msg="creating instance for cluster 'qa' '{'cluster_name': >> u'qa', 'hostname': 'blah_server1', 'ansible_groups': [u'qa', >> 'blah-servers']}' "] *** >> ok: [127.0.0.1] => { >> "item": "", >> "msg": "creating instance for cluster 'qa' '{'cluster_name': u'qa', >> 'hostname': 'blah_server1', 'ansible_groups': [u'qa', 'blah-servers']}' " >> } >> >> Between 1.5.3 and 1.5.4 this behavior has changed, running it with 1.5.4 >> produces. >> >> PLAY [localhost] ****************************** >> ******************************** >> >> TASK: [debug msg="creating instance for cluster 'qa' '{'cluster_name': >> u'qa', 'hostname': 'blah_server1', 'ansible_groups': [u'qa', >> 'blah-servers']}' "] *** >> ok: [127.0.0.1] => { >> "item": "", >> "msg": "creating instance for cluster 'qa' '{'cluster_name': u'dev', >> 'hostname': 'blah_server1', 'ansible_groups': [u'dev', 'blah-servers']}' " >> } >> >> Notice how the variable is correctly substituted in the task listing, but >> in the msg it is not overridden correctly at all and is still 'dev'. This >> causes me to spin up instances into the wrong cluster and in other >> playbooks that configure the cluster it applies changes to incorrect >> machines. >> >> The changes between 1.5.3 and 1.5.4 are very limited, I think its related >> to the split from SETUP_CACHE into VARS_CACHE, but I've not tracked it down >> yet. Anyone any insight into what might have happened? >> >> A gist of the files can be found here >> >> https://gist.github.com/10285167 >> >> Thanks, >> >> Steve. >> > -- > 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/7277838a-d2ea-4dcd-8cfb-b8e03d1b61bc%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/7277838a-d2ea-4dcd-8cfb-b8e03d1b61bc%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > 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/CA%2BnsWgwLcajmRuRFbiBxnpnZBi3dRLc7tcMx8y5HmNH-Hx_wRw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
