From c1e28b45b7a5ccadb7a81419ca7297dea0d47e76 Mon Sep 17 00:00:00 2001 From: bennojoy Date: Wed, 25 Sep 2013 19:24:54 +0530 Subject: Fix for accelerate when ansible_ssh_user is specified --- lib/ansible/runner/__init__.py | 5 +++++ lib/ansible/runner/connection_plugins/accelerate.py | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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) -- cgit v1.2.1