From 13a422261b336c481cf6c5573b82ca3541733f9b Mon Sep 17 00:00:00 2001 From: Daniel Hokka Zakrisson Date: Thu, 25 Oct 2012 13:59:24 +0200 Subject: [PATCH] Use the delegated host's interpreters --- lib/ansible/runner/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index e92f27fe562..b89dfc20738 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -373,10 +373,20 @@ class Runner(object): delegate_to = inject.get('delegate_to', None) if delegate_to is not None: delegate_to = utils.template(self.basedir, delegate_to, inject) + inject = inject.copy() + interpreters = [] + for i in inject: + if i.startswith("ansible_") and i.endswith("_interpreter"): + interpreters.append(i) + for i in interpreters: + del inject[i] try: delegate_info = inject['hostvars'][delegate_to] actual_host = delegate_info.get('ansible_ssh_host', delegate_to) actual_port = delegate_info.get('ansible_ssh_port', port) + for i in delegate_info: + if i.startswith("ansible_") and i.endswith("_interpreter"): + inject[i] = delegate_info[i] except errors.AnsibleError: actual_host = delegate_to