summaryrefslogtreecommitdiff
path: root/lib/ansible/plugins/strategy/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ansible/plugins/strategy/__init__.py')
-rw-r--r--lib/ansible/plugins/strategy/__init__.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/ansible/plugins/strategy/__init__.py b/lib/ansible/plugins/strategy/__init__.py
index f06d4f6f75..80bda8078a 100644
--- a/lib/ansible/plugins/strategy/__init__.py
+++ b/lib/ansible/plugins/strategy/__init__.py
@@ -331,9 +331,12 @@ class StrategyBase:
# be a host that is not really in inventory at all
if task.delegate_to is not None and task.delegate_facts:
task_vars = self._variable_manager.get_vars(loader=self._loader, play=iterator._play, host=host, task=task)
- self.add_tqm_variables(task_vars, play=iterator._play)
+ task_vars = self.add_tqm_variables(task_vars, play=iterator._play)
+ loop_var = 'item'
+ if task.loop_control:
+ loop_var = task.loop_control.loop_var or 'item'
if item is not None:
- task_vars['item'] = item
+ task_vars[loop_var] = item
templar = Templar(loader=self._loader, variables=task_vars)
host_name = templar.template(task.delegate_to)
actual_host = self._inventory.get_host(host_name)