diff options
author | Matt Martz <matt@sivel.net> | 2018-05-01 12:18:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-01 12:18:36 -0500 |
commit | 6acdc363174e9d1240bbd37e8ee0a8530f56b994 (patch) | |
tree | 6e4384edd87f770dca0cc1c1996efa1fa353682c | |
parent | 5a6bdef76b442f73d47b1d011487a5a30b3f0298 (diff) | |
download | ansible-6acdc363174e9d1240bbd37e8ee0a8530f56b994.tar.gz |
Ensure we don't overwrite handlers from include_role when loading a play. Fixes #18140 (#39563)
-rw-r--r-- | lib/ansible/playbook/play.py | 6 |
1 files changed, 5 insertions, 1 deletions
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) |