I'm actually wondering if this is bad historical memory on my part.
One possible use case is if every role has a handler called "restart
service" and doesn't name it well.
So what we do here in Ansible (pardon the code is):
if task.role_name:
name = '%s | %s' % (task.role_name, task.name)
else:
name = task.name
We prefix internally, each task name with the name of the role.
This is somewhat of a "damned if you, damned if you don't", scenario, as
both cases are pretty valid.
Thoughts?
I kind of feel the namespacing protection in the system is a good thing,
though I seem to have forgotten us acquiring that property. Ideas welcome.
On Wed, Aug 13, 2014 at 8:38 AM, Jean-Francois Chevrette <[email protected]
> wrote:
> There you go Michael: https://github.com/jfchevrette/ansible-notify-bug
>
>
> On Tue, Aug 12, 2014 at 3:07 PM, Michael DeHaan <[email protected]>
> wrote:
>
>> I'm having some trouble with CLI downloads from dropbox, might it be
>> possible to host a github repo or gist?
>>
>>
>>
>>
>> On Tue, Aug 12, 2014 at 1:02 PM, Jean-Francois Chevrette <
>> [email protected]> wrote:
>>
>>> Here you go:
>>> https://www.dropbox.com/s/qhooyvbzogdcjln/ansible-notify-bug.tar.gz
>>>
>>> This uses a local connection and ensures content of two files in /tmp/
>>>
>>> ansible-playbook demo.yml -i inventory -l localhost -t first
>>> - Works fine
>>>
>>> ansible-playbook demo.yml -i inventory -l localhost -t second
>>> - You will see handler "restart xyz" run twice, once from role 'second'
>>> and once from role 'first'
>>>
>>>
>>> On Tuesday, August 12, 2014 10:57:06 AM UTC-4, Michael DeHaan wrote:
>>>
>>>> I just tested this on devel and 1.7 and in both I do not see handlers
>>>> with the same names resulting in duplicate handler evaluation.
>>>>
>>>> I'd like to see a minimal playbook (probably shouldn't install an app,
>>>> just demonstrate the issue with things like "shell: echo" and dummy
>>>> handlers) that can reproduce this if possible.
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Aug 12, 2014 at 7:25 AM, Michael DeHaan <[email protected]>
>>>> wrote:
>>>>
>>>>> Thanks I'll take a look at this today and see what I can find out.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Aug 11, 2014 at 6:22 PM, Jean-Francois Chevrette <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Yes it is and as suggested I posted it to the groups.
>>>>>>
>>>>>> I had failed to describe that the issue is that both handlers with
>>>>>> the same name are called even though there is only one caller. (one
>>>>>> handler
>>>>>> notifying 'restart xyz' and BOTH 'restart xyz' handlers are called)
>>>>>>
>>>>>>
>>>>>> Thanks Michael
>>>>>>
>>>>>>
>>>>>> On Monday, August 11, 2014 6:01:54 PM UTC-4, Michael DeHaan wrote:
>>>>>>
>>>>>>> Was this your ticket?
>>>>>>>
>>>>>>> https://github.com/ansible/ansible/issues/8553
>>>>>>>
>>>>>>> If so, see the comment I closed it with for some more info.
>>>>>>>
>>>>>>> If not, let me know.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Aug 11, 2014 at 5:25 PM, Jean-Francois Chevrette <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hey everyone,
>>>>>>>>
>>>>>>>> I'm having an issue where two handlers with the same name from two
>>>>>>>> different roles are both being called during a playbook run.
>>>>>>>>
>>>>>>>> Gist here: https://gist.github.com/jfchevrette/b8f5edcd94b32284d53f
>>>>>>>>
>>>>>>>> I have two roles: first and second
>>>>>>>>
>>>>>>>> First role has a handler called 'restart xyz'
>>>>>>>> Second role has a handler also called 'restart xyz'
>>>>>>>> Second role has a handler called 'reconfigure xyz' which then
>>>>>>>> notifies 'restart xyz'
>>>>>>>>
>>>>>>>> (Real-life scenario: suppose I have two roles for two applications
>>>>>>>> and both require a restart of my webserver while one of them requires a
>>>>>>>> reconfiguration before the restart)
>>>>>>>>
>>>>>>>> Since roles are read alphabetically (AFAIK), I'm expecting the
>>>>>>>> 'restart xyz' to be called from the first role once handler
>>>>>>>> 'reconfigure
>>>>>>>> xyz' notifies it from the second role.
>>>>>>>>
>>>>>>>> If I only call the 'second' role using it's tag (defined in my
>>>>>>>> playbook), the "restart xyz" handler will be called twice (once from
>>>>>>>> the
>>>>>>>> 'second' role handlers, then from the 'first' role handlers). I would
>>>>>>>> expect it to be called only once (from the 'first' role) as I've been
>>>>>>>> told
>>>>>>>> it's a global namespace for handlers.
>>>>>>>>
>>>>>>>> (Real-life scenario: I only want to ensure my second application is
>>>>>>>> configured properly, which then reconfigures my webserver and restart
>>>>>>>> it.
>>>>>>>> Both restart handlers are called and my webserver is restarted twice)
>>>>>>>>
>>>>>>>> I hope my example is not too confusing.
>>>>>>>>
>>>>>>>> I poked around in the source code but couldn't find anything
>>>>>>>> obvious.
>>>>>>>>
>>>>>>>> Should I open a bug report?
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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/e7f81bd1-
>>>>>>>> 70d9-42d3-832c-753872112a33%40googlegroups.com
>>>>>>>> <https://groups.google.com/d/msgid/ansible-project/e7f81bd1-70d9-42d3-832c-753872112a33%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/5b6d8c98-176d-4ca4-9617-
>>>>>> e0809f387f2d%40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/ansible-project/5b6d8c98-176d-4ca4-9617-e0809f387f2d%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/965a642f-492c-4905-a098-fb2bd220118a%40googlegroups.com
>>> <https://groups.google.com/d/msgid/ansible-project/965a642f-492c-4905-a098-fb2bd220118a%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/Kg-8w2z6-aA/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%2BnsWgwm%2BuMUDZX_3jLrANOFzWRDOjjXYs2xcwuoOjT%2Bh1ujuA%40mail.gmail.com
>> <https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgwm%2BuMUDZX_3jLrANOFzWRDOjjXYs2xcwuoOjT%2Bh1ujuA%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/CALYMDdjCN6pn8sZLQG2tgoUhTt_vGWs2n%3DxW0CTVcx6kb6yrBw%40mail.gmail.com
> <https://groups.google.com/d/msgid/ansible-project/CALYMDdjCN6pn8sZLQG2tgoUhTt_vGWs2n%3DxW0CTVcx6kb6yrBw%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%2BnsWgxztFp3Jxkzj0t%3DKi2fNUp9t0akhUZUCDD7rRJOXBm%2B%3DQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.