From f4172fb9daf27baaedd63d1f67ad072b2263d9e7 Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Fri, 17 Apr 2015 13:00:25 -0500 Subject: [PATCH] Fix tag handling on meta:flush_handlers tasks Fixes #10758 --- lib/ansible/playbook/play.py | 12 +++++++----- lib/ansible/playbook/task.py | 2 ++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/ansible/playbook/play.py b/lib/ansible/playbook/play.py index 9fd8a86f4e4..665f1ef091a 100644 --- a/lib/ansible/playbook/play.py +++ b/lib/ansible/playbook/play.py @@ -590,15 +590,17 @@ class Play(object): included_become_vars[k] = become_vars[k] x[k] = become_vars[k] - if 'meta' in x: - if x['meta'] == 'flush_handlers': - results.append(Task(self, x)) - continue - task_vars = vars.copy() if original_file: task_vars['_original_file'] = original_file + if 'meta' in x: + if x['meta'] == 'flush_handlers': + if role_name and 'role_name' not in x: + x['role_name'] = role_name + results.append(Task(self, x, module_vars=task_vars, role_name=role_name)) + continue + if 'include' in x: tokens = split_args(str(x['include'])) included_additional_conditions = list(additional_conditions) diff --git a/lib/ansible/playbook/task.py b/lib/ansible/playbook/task.py index b8b58f1c0bd..70c1bc8df6b 100644 --- a/lib/ansible/playbook/task.py +++ b/lib/ansible/playbook/task.py @@ -52,6 +52,8 @@ class Task(object): if 'meta' in ds: self.meta = ds['meta'] self.tags = [] + self.module_vars = module_vars + self.role_name = role_name return else: self.meta = None