summaryrefslogtreecommitdiff
path: root/lib/ansible/executor/task_executor.py
diff options
context:
space:
mode:
authorJames Cammarata <jimi@sngx.net>2016-08-04 09:08:36 -0500
committerJames Cammarata <jimi@sngx.net>2016-08-08 15:58:46 -0500
commite2448951744e647df5c9a43b75d83cf7e62b887d (patch)
tree9af38d30a4fbd9ffba51088a8b25df6df855c5ca /lib/ansible/executor/task_executor.py
parent06d4f4ad0e8f62c6b02b01833b94a0e44be008d0 (diff)
downloadansible-performance_improvements.tar.gz
Avoid copying task parents in TaskExecutorperformance_improvements
As Block.copy() is potentially expensive, avoid copying the parent structure of tasks in TaskExecutor.
Diffstat (limited to 'lib/ansible/executor/task_executor.py')
-rw-r--r--lib/ansible/executor/task_executor.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/ansible/executor/task_executor.py b/lib/ansible/executor/task_executor.py
index 88f69070eb..3faaee7e82 100644
--- a/lib/ansible/executor/task_executor.py
+++ b/lib/ansible/executor/task_executor.py
@@ -246,7 +246,8 @@ class TaskExecutor:
task_vars[loop_var] = item
try:
- tmp_task = self._task.copy(exclude_tasks=True)
+ tmp_task = self._task.copy(exclude_parent=True, exclude_tasks=True)
+ tmp_task._parent = self._task._parent
tmp_play_context = self._play_context.copy()
except AnsibleParserError as e:
results.append(dict(failed=True, msg=to_unicode(e)))