diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index f91fad38cc..dbcb869ae2 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -346,6 +346,12 @@ class Runner(object): delegate['transport'] = this_info.get('ansible_connection', self.transport) 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: delegate['private_key_file'] = os.path.expanduser(delegate['private_key_file'])