Introduce ansible_python_interpreter variable.

This allows configuration of the correct python interpreter on the managed system.
This commit is contained in:
Jeroen Hoekx 2012-06-04 10:15:12 +02:00
parent 57a34d914f
commit 1f63c47738

View file

@ -721,7 +721,19 @@ class Runner(object):
raise errors.AnsibleFileNotFound("module not found: %s" % in_path)
out_path = tmp + module
conn.put_file(in_path, out_path)
# use the correct python interpreter for the host
host_variables = self.inventory.get_variables(conn.host)
if 'ansible_python_interpreter' in host_variables:
interpreter = host_variables['ansible_python_interpreter']
with open(in_path) as f:
module_lines = f.readlines()
if '#!' and 'python' in module_lines[0]:
module_lines[0] = "#!%s" % interpreter
self._transfer_str(conn, tmp, module, '\n'.join(module_lines))
else:
conn.put_file(in_path, out_path)
return out_path
# *****************************************************