summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbennojoy <benno@ansibleworks.com>2013-09-25 19:24:54 +0530
committerJames Cammarata <jimi@sngx.net>2013-10-07 13:16:21 -0500
commitc1e28b45b7a5ccadb7a81419ca7297dea0d47e76 (patch)
treecef97f96bc51a03a6f1145ddb86800d53f77b637
parentfa231095a4fbbc42df2f8a434fb666f2e310a9b1 (diff)
downloadansible-c1e28b45b7a5ccadb7a81419ca7297dea0d47e76.tar.gz
Fix for accelerate when ansible_ssh_user is specified
-rw-r--r--lib/ansible/runner/__init__.py5
-rw-r--r--lib/ansible/runner/connection_plugins/accelerate.py5
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py
index 9f5af42a45..3ff72dac6d 100644
--- a/lib/ansible/runner/__init__.py
+++ b/lib/ansible/runner/__init__.py
@@ -570,6 +570,11 @@ class Runner(object):
actual_private_key_file = inject.get('ansible_ssh_private_key_file', self.private_key_file)
if self.accelerate and actual_transport != 'local':
+ #Fix to get the inventory name of the host to accelerate plugin
+ if inject.get('ansible_ssh_host', None):
+ self.accelerate_inventory_host = host
+ else:
+ self.accelerate_inventory_host = None
# if we're using accelerated mode, force the
# transport to accelerate
actual_transport = "accelerate"
diff --git a/lib/ansible/runner/connection_plugins/accelerate.py b/lib/ansible/runner/connection_plugins/accelerate.py
index e39d0d715b..de040587ce 100644
--- a/lib/ansible/runner/connection_plugins/accelerate.py
+++ b/lib/ansible/runner/connection_plugins/accelerate.py
@@ -75,7 +75,10 @@ class Connection(object):
def _execute_accelerate_module(self):
args = "password=%s port=%s" % (base64.b64encode(self.key.__str__()), str(self.accport))
inject = dict(password=self.key)
- inject = utils.combine_vars(inject, self.runner.inventory.get_variables(self.host))
+ if self.runner.accelerate_inventory_host:
+ inject = utils.combine_vars(inject, self.runner.inventory.get_variables(self.runner.accelerate_inventory_host))
+ else:
+ inject = utils.combine_vars(inject, self.runner.inventory.get_variables(self.host))
self.ssh.connect()
tmp_path = self.runner._make_tmp_path(self.ssh)
return self.runner._execute_module(self.ssh, tmp_path, 'accelerate', args, inject=inject)