summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Cammarata <jimi@sngx.net>2017-02-17 00:07:21 -0600
committerJames Cammarata <jimi@sngx.net>2017-02-17 00:07:21 -0600
commitfa8ac5b61616f8f94629464f6f706c9983d352a9 (patch)
tree0f3603fe31e49233bea5659d9c3b46558fb1b335
parenteec88b63c2ff0ae801c36dada291fab18d8d621f (diff)
downloadansible-issue_21340.tar.gz
Relocate creation of Templar in process_pending_resultsissue_21340
Moving it to after the blocks where per-item results are calculated, as it's not used there and causes quite a performance hit being there. Fixes #21340
-rw-r--r--lib/ansible/plugins/strategy/__init__.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/ansible/plugins/strategy/__init__.py b/lib/ansible/plugins/strategy/__init__.py
index 8b277638d6..3a7f2fc67c 100644
--- a/lib/ansible/plugins/strategy/__init__.py
+++ b/lib/ansible/plugins/strategy/__init__.py
@@ -332,11 +332,6 @@ class StrategyBase:
else:
loop_var = 'item'
- # get the vars for this task/host pair, make them the active set of vars for our templar above
- task_vars = self._variable_manager.get_vars(loader=self._loader, play=iterator._play, host=original_host, task=original_task)
- self.add_tqm_variables(task_vars, play=iterator._play)
- templar.set_available_variables(task_vars)
-
# send callbacks for 'non final' results
if '_ansible_retry' in task_result._result:
self._tqm.send_callback('v2_runner_retry', task_result)
@@ -353,6 +348,11 @@ class StrategyBase:
self._tqm.send_callback('v2_runner_item_on_ok', task_result)
continue
+ # get the vars for this task/host pair, make them the active set of vars for our templar above
+ task_vars = self._variable_manager.get_vars(loader=self._loader, play=iterator._play, host=original_host, task=original_task)
+ self.add_tqm_variables(task_vars, play=iterator._play)
+ templar.set_available_variables(task_vars)
+
run_once = templar.template(original_task.run_once)
if original_task.register:
host_list = self.get_task_hosts(iterator, original_host, original_task)