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] 
> <javascript:>> 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] <javascript:>> 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] <javascript:>.
>>> To post to this group, send email to [email protected] 
>>> <javascript:>.
>>> 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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to