mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 13:22:48 +00:00
Use delegated vars for the delegated host name
In _process_pending_results (strategy/__init__.py), we were using the delegate_to field directly from the original task, which was not being templated correctly. As an alternate to #23599, this patch instead pulls the host name out of the delegated vars passed back in the task result dictionary to avoid having to re-template things. Fixes #23599 Fixes #20508
This commit is contained in:
@@ -241,11 +241,13 @@ class StrategyBase:
|
||||
return host_list
|
||||
|
||||
def get_delegated_hosts(self, result, task):
|
||||
|
||||
host_name = task.delegate_to
|
||||
actual_host = self._inventory.get_host(host_name)
|
||||
if actual_host is None:
|
||||
actual_host = Host(name=host_name)
|
||||
host_name = result.get('_ansible_delegated_vars', {}).get('ansible_host', None)
|
||||
if host_name is not None:
|
||||
actual_host = self._inventory.get_host(host_name)
|
||||
if actual_host is None:
|
||||
actual_host = Host(name=host_name)
|
||||
else:
|
||||
actual_host = Host(name=task.delegate_to)
|
||||
|
||||
return [actual_host]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user