Merge pull request #9601 from cchurch/set_delegate_before_connect
Set delegate on connection plugin before calling connect()
This commit is contained in:
commit
919db1025c
2 changed files with 6 additions and 3 deletions
|
@ -963,9 +963,11 @@ class Runner(object):
|
||||||
return ReturnData(host=host, comm_ok=False, result=result)
|
return ReturnData(host=host, comm_ok=False, result=result)
|
||||||
|
|
||||||
try:
|
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:
|
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', '')
|
default_shell = getattr(conn, 'default_shell', '')
|
||||||
shell_type = inject.get('ansible_shell_type')
|
shell_type = inject.get('ansible_shell_type')
|
||||||
|
|
|
@ -31,10 +31,11 @@ class Connector(object):
|
||||||
def __init__(self, runner):
|
def __init__(self, runner):
|
||||||
self.runner = 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)
|
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:
|
if conn is None:
|
||||||
raise AnsibleError("unsupported connection type: %s" % transport)
|
raise AnsibleError("unsupported connection type: %s" % transport)
|
||||||
|
conn.delegate = delegate_host
|
||||||
if private_key_file:
|
if private_key_file:
|
||||||
# If private key is readable by user other than owner, flag an error
|
# If private key is readable by user other than owner, flag an error
|
||||||
st = None
|
st = None
|
||||||
|
|
Loading…
Reference in a new issue