Allow the environment string to be referenced by a bare variable name like:

environment: foo
This commit is contained in:
Michael DeHaan 2013-04-22 21:29:15 -04:00
parent f16751de29
commit fbea88b9d9

View file

@ -240,6 +240,8 @@ class Runner(object):
if not self.environment:
return ""
enviro = template.template(self.basedir, self.environment, inject)
if isinstance(enviro, basestring) and enviro in inject:
enviro = inject[enviro]
if type(enviro) != dict:
raise errors.AnsibleError("environment must be a dictionary, received %s" % enviro)
result = ""
@ -292,7 +294,7 @@ class Runner(object):
if not shebang:
raise errors.AnsibleError("module is missing interpreter line")
cmd = " ".join([environment_string, shebang.replace("#!",""), cmd])
cmd = " ".join([environment_string.strip(), shebang.replace("#!","").strip(), cmd])
cmd = cmd.strip()
if tmp.find("tmp") != -1 and C.DEFAULT_KEEP_REMOTE_FILES != '1' and not persist_files: