include_vars to delegated only if delegate_facts (#24259)
* include_vars to delegated only if delegate_facts
fixes #24172
* since code is now same, simplified
(cherry picked from commit b731c2d809
)
This commit is contained in:
parent
5c8e11ac9f
commit
77fa3f1598
1 changed files with 6 additions and 12 deletions
|
@ -486,25 +486,19 @@ class StrategyBase:
|
|||
|
||||
if 'ansible_facts' in result_item:
|
||||
|
||||
# if delegated fact and we are delegating facts, we need to change target host for them
|
||||
if original_task.delegate_to is not None and original_task.delegate_facts:
|
||||
host_list = self.get_delegated_hosts(result_item, original_task)
|
||||
else:
|
||||
host_list = self.get_task_hosts(iterator, original_host, original_task)
|
||||
|
||||
if original_task.action == 'include_vars':
|
||||
|
||||
if original_task.delegate_to is not None:
|
||||
host_list = self.get_delegated_hosts(result_item, original_task)
|
||||
else:
|
||||
host_list = self.get_task_hosts(iterator, original_host, original_task)
|
||||
|
||||
for (var_name, var_value) in iteritems(result_item['ansible_facts']):
|
||||
# find the host we're actually referring too here, which may
|
||||
# be a host that is not really in inventory at all
|
||||
for target_host in host_list:
|
||||
self._variable_manager.set_host_variable(target_host, var_name, var_value)
|
||||
else:
|
||||
# if delegated fact and we are delegating facts, we need to change target host for them
|
||||
if original_task.delegate_to is not None and original_task.delegate_facts:
|
||||
host_list = self.get_delegated_hosts(result_item, original_task)
|
||||
else:
|
||||
host_list = self.get_task_hosts(iterator, original_host, original_task)
|
||||
|
||||
for target_host in host_list:
|
||||
if original_task.action == 'set_fact':
|
||||
self._variable_manager.set_nonpersistent_facts(target_host, result_item['ansible_facts'].copy())
|
||||
|
|
Loading…
Reference in a new issue