Commit ac66e400 by James Cammarata

Fix for variable precedence with tasks/includes

Fixes #11881
parent 2688edb3
......@@ -212,19 +212,19 @@ class Task(Base, Conditional, Taggable, Become):
return value
def get_vars(self):
all_vars = self.vars.copy()
all_vars = dict()
if self._block:
all_vars.update(self._block.get_vars())
if self._task_include:
all_vars.update(self._task_include.get_vars())
#if isinstance(self.args, dict):
# all_vars.update(self.args)
all_vars.update(self.vars)
if 'tags' in all_vars:
del all_vars['tags']
if 'when' in all_vars:
del all_vars['when']
return all_vars
def copy(self, exclude_block=False):
......
......@@ -406,9 +406,9 @@ class StrategyBase:
# set the vars for this task from those specified as params to the include
for b in block_list:
temp_vars = b.vars.copy()
temp_vars = b._task_include.vars.copy()
temp_vars.update(included_file._args.copy())
b.vars = temp_vars
b._task_include.vars = temp_vars
return block_list
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment