|
|
|
|
@ -489,15 +489,18 @@ class VariableManager:
|
|
|
|
|
# try looking it up based on the address field, and finally
|
|
|
|
|
# fall back to creating a host on the fly to use for the var lookup
|
|
|
|
|
if delegated_host is None:
|
|
|
|
|
for h in self._inventory.get_hosts(ignore_limits_and_restrictions=True):
|
|
|
|
|
# check if the address matches, or if both the delegated_to host
|
|
|
|
|
# and the current host are in the list of localhost aliases
|
|
|
|
|
if h.address == delegated_host_name or h.name in C.LOCALHOST and delegated_host_name in C.LOCALHOST:
|
|
|
|
|
delegated_host = h
|
|
|
|
|
break
|
|
|
|
|
if delegated_host_name in C.LOCALHOST:
|
|
|
|
|
delegated_host = self._inventory.localhost
|
|
|
|
|
else:
|
|
|
|
|
delegated_host = Host(name=delegated_host_name)
|
|
|
|
|
delegated_host.vars.update(new_delegated_host_vars)
|
|
|
|
|
for h in self._inventory.get_hosts(ignore_limits_and_restrictions=True):
|
|
|
|
|
# check if the address matches, or if both the delegated_to host
|
|
|
|
|
# and the current host are in the list of localhost aliases
|
|
|
|
|
if h.address == delegated_host_name:
|
|
|
|
|
delegated_host = h
|
|
|
|
|
break
|
|
|
|
|
else:
|
|
|
|
|
delegated_host = Host(name=delegated_host_name)
|
|
|
|
|
delegated_host.vars.update(new_delegated_host_vars)
|
|
|
|
|
else:
|
|
|
|
|
delegated_host = Host(name=delegated_host_name)
|
|
|
|
|
delegated_host.vars.update(new_delegated_host_vars)
|
|
|
|
|
|