Honor ansible_private_key_file for delegated hosts

If a delegated host is not found in the inventory specified
private_key_file for primary host was not used.

This allows running playbooks without having to define any inventory at
all and to use the same ssh private key for both primary host and
delegated one.
pull/7048/head
Sébastien Gross 11 years ago
parent 09e0d1c51f
commit 22d6572270

@ -346,6 +346,12 @@ class Runner(object):
delegate['transport'] = this_info.get('ansible_connection', self.transport) delegate['transport'] = this_info.get('ansible_connection', self.transport)
delegate['sudo_pass'] = this_info.get('ansible_sudo_pass', self.sudo_pass) delegate['sudo_pass'] = this_info.get('ansible_sudo_pass', self.sudo_pass)
# Last chance to get private_key_file from global variables.
# this is usefull if delegated host is not defined in the inventory
if delegate['private_key_file'] is None:
delegate['private_key_file'] = remote_inject.get(
'ansible_ssh_private_key_file', None)
if delegate['private_key_file'] is not None: if delegate['private_key_file'] is not None:
delegate['private_key_file'] = os.path.expanduser(delegate['private_key_file']) delegate['private_key_file'] = os.path.expanduser(delegate['private_key_file'])

Loading…
Cancel
Save