From 6acdc363174e9d1240bbd37e8ee0a8530f56b994 Mon Sep 17 00:00:00 2001 From: Matt Martz Date: Tue, 1 May 2018 12:18:36 -0500 Subject: Ensure we don't overwrite handlers from include_role when loading a play. Fixes #18140 (#39563) --- lib/ansible/playbook/play.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib/ansible/playbook/play.py') diff --git a/lib/ansible/playbook/play.py b/lib/ansible/playbook/play.py index e4fe7c17e4..72b4cbc357 100644 --- a/lib/ansible/playbook/play.py +++ b/lib/ansible/playbook/play.py @@ -171,7 +171,11 @@ class Play(Base, Taggable, Become): Bare handlers outside of a block are given an implicit block. ''' try: - return load_list_of_blocks(ds=ds, play=self, use_handlers=True, variable_manager=self._variable_manager, loader=self._loader) + return self._extend_value( + self.handlers, + load_list_of_blocks(ds=ds, play=self, use_handlers=True, variable_manager=self._variable_manager, loader=self._loader), + prepend=True + ) except AssertionError as e: raise AnsibleParserError("A malformed block was encountered while loading handlers", obj=self._ds, orig_exc=e) -- cgit v1.2.1