Fixing synchronize + delegate_to user bug

Fixes #12464
This commit is contained in:
James Cammarata 2015-09-22 16:06:52 -04:00
parent 3ffc2783c4
commit 1e7fd2196d

View file

@ -101,7 +101,7 @@ class ActionModule(ActionBase):
remote_transport = True
try:
delegate_to = self._play_context.delegate_to
delegate_to = self._task.delegate_to
except (AttributeError, KeyError):
delegate_to = None
@ -183,10 +183,11 @@ class ActionModule(ActionBase):
user = None
if boolean(self._task.args.get('set_remote_user', 'yes')):
if use_delegate:
if 'hostvars' in task_vars and delegate_to in task_vars['hostvars']:
user = task_vars['hostvars'][delegate_to].get('ansible_ssh_user', None)
user = task_vars.get('ansible_delegated_vars', dict()).get('ansible_ssh_user', None)
if not user:
user = C.DEFAULT_REMOTE_USER
if not use_delegate or not user:
else:
user = task_vars.get('ansible_ssh_user') or self._play_context.remote_user
# use the mode to define src and dest's url