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.

Reply via email to