diff options
author | James Cammarata <jimi@sngx.net> | 2014-05-01 16:12:52 -0500 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2014-05-01 16:12:52 -0500 |
commit | c6f3a0a4ccc7dceda0946d3b4c38797ba18ce59d (patch) | |
tree | d96d16951190cecf002091c7322e99bb7b7ccad5 | |
parent | ae7503d6fbf79ddd7444a2a4b3d19c81f74d0c39 (diff) | |
parent | 54b1f820fb2d58be777246cfd166a563a0ccae71 (diff) | |
download | ansible-c6f3a0a4ccc7dceda0946d3b4c38797ba18ce59d.tar.gz |
Merge pull request #7243 from jimi-c/issue_7060_lang_c
Modify the way we set the localization environment
-rw-r--r-- | lib/ansible/module_common.py | 4 | ||||
-rw-r--r-- | lib/ansible/module_utils/basic.py | 3 | ||||
-rw-r--r-- | lib/ansible/runner/__init__.py | 22 |
3 files changed, 14 insertions, 15 deletions
diff --git a/lib/ansible/module_common.py b/lib/ansible/module_common.py index a6af86d6fc..fa8be1a4a0 100644 --- a/lib/ansible/module_common.py +++ b/lib/ansible/module_common.py @@ -28,7 +28,6 @@ from ansible import constants as C REPLACER = "#<<INCLUDE_ANSIBLE_MODULE_COMMON>>" REPLACER_ARGS = "\"<<INCLUDE_ANSIBLE_MODULE_ARGS>>\"" -REPLACER_LANG = "\"<<INCLUDE_ANSIBLE_MODULE_LANG>>\"" REPLACER_COMPLEX = "\"<<INCLUDE_ANSIBLE_MODULE_COMPLEX_ARGS>>\"" class ModuleReplacer(object): @@ -140,12 +139,10 @@ class ModuleReplacer(object): encoded_args = repr(module_args.encode('utf-8')) except UnicodeDecodeError: encoded_args = repr(module_args) - encoded_lang = repr(C.DEFAULT_MODULE_LANG) encoded_complex = repr(complex_args_json) # these strings should be part of the 'basic' snippet which is required to be included module_data = module_data.replace(REPLACER_ARGS, encoded_args) - module_data = module_data.replace(REPLACER_LANG, encoded_lang) module_data = module_data.replace(REPLACER_COMPLEX, encoded_complex) if module_style == 'new': @@ -154,7 +151,6 @@ class ModuleReplacer(object): facility = inject['ansible_syslog_facility'] module_data = module_data.replace('syslog.LOG_USER', "syslog.%s" % facility) - lines = module_data.split("\n") shebang = None if lines[0].startswith("#!"): diff --git a/lib/ansible/module_utils/basic.py b/lib/ansible/module_utils/basic.py index 60a4d0655f..c0b00d3865 100644 --- a/lib/ansible/module_utils/basic.py +++ b/lib/ansible/module_utils/basic.py @@ -30,7 +30,6 @@ # == BEGIN DYNAMICALLY INSERTED CODE == MODULE_ARGS = "<<INCLUDE_ANSIBLE_MODULE_ARGS>>" -MODULE_LANG = "<<INCLUDE_ANSIBLE_MODULE_LANG>>" MODULE_COMPLEX_ARGS = "<<INCLUDE_ANSIBLE_MODULE_COMPLEX_ARGS>>" BOOLEANS_TRUE = ['yes', 'on', '1', 'true', 1] @@ -191,8 +190,6 @@ class AnsibleModule(object): if k not in self.argument_spec: self.argument_spec[k] = v - os.environ['LANG'] = MODULE_LANG - os.environ['LC_CTYPE'] = MODULE_LANG (self.params, self.args) = self._load_params() self._legal_inputs = ['CHECKMODE', 'NO_LOG'] diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index dbcb869ae2..bb661a0c52 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -287,15 +287,21 @@ class Runner(object): def _compute_environment_string(self, inject=None): ''' what environment variables to use when running the command? ''' - if not self.environment: - return "" - enviro = template.template(self.basedir, self.environment, inject, convert_bare=True) - enviro = utils.safe_eval(enviro) - if type(enviro) != dict: - raise errors.AnsibleError("environment must be a dictionary, received %s" % enviro) + default_environment = collections.OrderedDict([ + ('LANG', C.DEFAULT_MODULE_LANG), + ('LC_CTYPE', C.DEFAULT_MODULE_LANG), + ]) + + if self.environment: + enviro = template.template(self.basedir, self.environment, inject, convert_bare=True) + enviro = utils.safe_eval(enviro) + if type(enviro) != dict: + raise errors.AnsibleError("environment must be a dictionary, received %s" % enviro) + default_environment.update(enviro) + result = "" - for (k,v) in enviro.iteritems(): - result = "%s=%s %s" % (k, pipes.quote(unicode(v)), result) + for (k,v) in default_environment.iteritems(): + result = "%s %s=%s" % (result, k, pipes.quote(unicode(v))) return result # ***************************************************** |