ensure we use delegated vars on delegation

this prevents falling back to connection vars from the inventory_hostname
when matching connection var is not in delegated host.
This commit is contained in:
Brian Coca 2016-03-17 08:50:18 -07:00
parent 0a457230ab
commit 292be944c6

View file

@ -359,12 +359,15 @@ class PlayContext(Base):
for variable_name in variable_names:
if attr in attrs_considered:
continue
# if delegation task ONLY use delegated host vars, avoid delegated FOR host vars
if task.delegate_to is not None:
if isinstance(delegated_vars, dict) and variable_name in delegated_vars:
setattr(new_info, attr, delegated_vars[variable_name])
attrs_considered.append(attr)
elif variable_name in variables:
setattr(new_info, attr, variables[variable_name])
attrs_considered.append(attr)
# no else, as no other vars should be considered
# make sure we get port defaults if needed
if new_info.port is None and C.DEFAULT_REMOTE_PORT is not None: