Per the above, 1.6 is already released. If you have a bug in 1.6 please file it and include the most minimal reproducer possible along with it.
We will not be updating the 1.5.X series. On Wed, May 28, 2014 at 5:33 PM, Stephen Gargan <[email protected]>wrote: > Hi, > > I've finally had a chance to circle back around to verifying this is fixed > and I noticed there was a bug in my gist. The all file should be in a > group_vars folder. When I move the vars file there the failure returns. It > seems as you suspected that the cluster_name from there is still being > resolved too early, even with the fix for > https://github.com/ansible/ansible/issues/6677 > > I've tracked it down to the following, _executor_internal is run in the > runner module to execute the debug task, this calls on 564 > > module_vars = template.template(self.basedir, self.module_vars, > module_vars_inject) > > and the module vars sent in for templating are only the vars extracted > from the hosts file, not the combined set > > {'cluster_name': 'dev', 'inventory_hostname': '127.0.0.1', > 'inventory_hostname_short': '127', 'ansible_python_interpreter': > '/usr/local/bin/python', 'group_names': ['localhost']} > > So even though the task output shows the variables resolved and templated > correctly using the combined set > > TASK: [debug msg="creating instance for cluster 'stage' '{'cluster_name': > u'stage', 'hostname': 'blah_server1', 'ansible_groups': [u'stage', > 'blah-servers']}' "] *** > > the execution is using the incomplete set and resolves to > > ok: [127.0.0.1] => { > "item": "", > "msg": "creating instance for cluster 'stage' '{'cluster_name': > u'dev', 'hostname': 'blah_server1', 'ansible_groups': [u'dev', > 'blah-servers']}' " > } > > I'm going to see if I can't get it to pass the combined set in here, if I > can I'll create a patch. Should I open a bug for this? > > regards, > > Steve. > > > On Tue, Apr 15, 2014 at 11:53 PM, Michael DeHaan <[email protected]>wrote: > >> 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 a topic in the >> Google Groups "Ansible Project" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/ansible-project/feCFkDW12Bo/unsubscribe >> . >> To unsubscribe from this group and all its topics, 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<https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgwLcajmRuRFbiBxnpnZBi3dRLc7tcMx8y5HmNH-Hx_wRw%40mail.gmail.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/CAPe9%3DrAampjY3p7B9mTcUhJ1_vp5DES0P4K81f8nTXGk1SFA0g%40mail.gmail.com<https://groups.google.com/d/msgid/ansible-project/CAPe9%3DrAampjY3p7B9mTcUhJ1_vp5DES0P4K81f8nTXGk1SFA0g%40mail.gmail.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%2BnsWgyaa2x2mk1F5dupvdde5Ngr9AERcLOd1vrz-JAQ2mGyAA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
