Skip to content

Commit

Permalink
Set delegate on connection prior to calling connect.
Browse files Browse the repository at this point in the history
  • Loading branch information
cchurch committed Nov 24, 2014
1 parent 1161094 commit de2746a
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
6 changes: 4 additions & 2 deletions lib/ansible/runner/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -931,9 +931,11 @@ def _executor_internal_inner(self, host, module_name, module_args, inject, port,
return ReturnData(host=host, comm_ok=False, result=result)

try:
conn = self.connector.connect(actual_host, actual_port, actual_user, actual_pass, actual_transport, actual_private_key_file)
if self.delegate_to or host != actual_host:
conn.delegate = host
delegate_host = host
else:
delegate_host = None
conn = self.connector.connect(actual_host, actual_port, actual_user, actual_pass, actual_transport, actual_private_key_file, delegate_host)

default_shell = getattr(conn, 'default_shell', '')
shell_type = inject.get('ansible_shell_type')
Expand Down
3 changes: 2 additions & 1 deletion lib/ansible/runner/connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,11 @@ class Connector(object):
def __init__(self, runner):
self.runner = runner

def connect(self, host, port, user, password, transport, private_key_file):
def connect(self, host, port, user, password, transport, private_key_file, delegate_host):
conn = utils.plugins.connection_loader.get(transport, self.runner, host, port, user=user, password=password, private_key_file=private_key_file)
if conn is None:
raise AnsibleError("unsupported connection type: %s" % transport)
conn.delegate = delegate_host
if private_key_file:
# If private key is readable by user other than owner, flag an error
st = None
Expand Down

0 comments on commit de2746a

Please sign in to comment.