From daf6eb97d3b0d059e0856015b2eb62d32281b9ad Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Mon, 15 Aug 2016 10:07:54 -0500 Subject: [PATCH] Make sure includes for handlers in roles look in the correct subdir --- lib/ansible/playbook/helpers.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/ansible/playbook/helpers.py b/lib/ansible/playbook/helpers.py index 06043b92d20..d1b2d0ed7ab 100644 --- a/lib/ansible/playbook/helpers.py +++ b/lib/ansible/playbook/helpers.py @@ -144,6 +144,9 @@ def load_list_of_tasks(ds, play, block=None, role=None, task_include=None, use_h cumulative_path = None found = False + subdir = 'tasks' + if use_handlers: + subdir = 'handlers' while parent_include is not None: if not isinstance(parent_include, TaskInclude): parent_include = parent_include._parent @@ -155,8 +158,8 @@ def load_list_of_tasks(ds, play, block=None, role=None, task_include=None, use_h cumulative_path = os.path.join(parent_include_dir, cumulative_path) include_target = templar.template(t.args['_raw_params']) if t._role: - new_basedir = os.path.join(t._role._role_path, 'tasks', cumulative_path) - include_file = loader.path_dwim_relative(new_basedir, 'tasks', include_target) + new_basedir = os.path.join(t._role._role_path, subdir, cumulative_path) + include_file = loader.path_dwim_relative(new_basedir, subdir, include_target) else: include_file = loader.path_dwim_relative(loader.get_basedir(), cumulative_path, include_target) @@ -179,10 +182,7 @@ def load_list_of_tasks(ds, play, block=None, role=None, task_include=None, use_h suppress_extended_error=True, ) if t._role: - if use_handlers: - include_file = loader.path_dwim_relative(t._role._role_path, 'handlers', include_target) - else: - include_file = loader.path_dwim_relative(t._role._role_path, 'tasks', include_target) + include_file = loader.path_dwim_relative(t._role._role_path, subdir, include_target) else: include_file = loader.path_dwim(include_target)