Inject the play context vars into the variables used for loop item templating
This commit is contained in:
parent
bcbcfc79be
commit
c2435fab7e
1 changed files with 10 additions and 2 deletions
|
@ -141,10 +141,18 @@ class TaskExecutor:
|
||||||
and returns the items result.
|
and returns the items result.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
# create a copy of the job vars here so that we can modify
|
||||||
|
# them temporarily without changing them too early for other
|
||||||
|
# parts of the code that might still need a pristine version
|
||||||
|
vars_copy = self._job_vars.copy()
|
||||||
|
|
||||||
|
# now we update them with the play context vars
|
||||||
|
self._play_context.update_vars(vars_copy)
|
||||||
|
|
||||||
items = None
|
items = None
|
||||||
if self._task.loop and self._task.loop in lookup_loader:
|
if self._task.loop and self._task.loop in lookup_loader:
|
||||||
loop_terms = listify_lookup_plugin_terms(terms=self._task.loop_args, variables=self._job_vars, loader=self._loader, fail_on_undefined=True)
|
loop_terms = listify_lookup_plugin_terms(terms=self._task.loop_args, variables=vars_copy, loader=self._loader, fail_on_undefined=True)
|
||||||
items = lookup_loader.get(self._task.loop, loader=self._loader).run(terms=loop_terms, variables=self._job_vars)
|
items = lookup_loader.get(self._task.loop, loader=self._loader).run(terms=loop_terms, variables=vars_copy)
|
||||||
|
|
||||||
return items
|
return items
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue