Hi James, 

I have tried:

a) setting "module_lang = en_US.UTF-8" in ansible.cfg 
b) editing /usr/share/pyshared/ansible/constants.py and changing:

DEFAULT_MODULE_LANG       = get_config(p, DEFAULTS, 'module_lang',     
 'ANSIBLE_MODULE_LANG',      'C')

to

DEFAULT_MODULE_LANG       = get_config(p, DEFAULTS, 'module_lang',     
 'ANSIBLE_MODULE_LANG',      'en_US.UTF-8')


In both cases the problem persists. 

Any other ideas? 


thanks!!



On Monday, May 12, 2014 11:16:12 PM UTC+2, James Cammarata wrote:
>
> Can you try setting "module_lang = en_US.UTF-8" in your ansible.cfg to see 
> if that corrects the issue?
>
>
> On Mon, May 12, 2014 at 2:30 PM, Joel Sdc <[email protected] <javascript:>
> > wrote:
>
>> Hi, 
>>
>> I'm having a little problem. When I run a simple playbook, on some 
>> servers I get a UnicodeEncodeError and the playbook is not executed.
>>
>> I have the role "users_admin", it creates 3 groups, makes sure that 4 
>> users exist and have a specific password and set a root password if it has 
>> changed.
>>
>> root@cm:/etc/ansible/roles/users_admin# tree
>> .
>> └── tasks
>>     └── main.yml
>>
>> 1 directory, 1 file
>> root@cm:/etc/ansible/roles/users_admin# cat tasks/main.yml
>> ---
>> - name: Global group 'admins'
>>   group: name=admins state=present gid=2000
>>
>> - name: Global group 'support' 
>>   group: name=support state=present gid=2001
>>
>> - name: Global group 'developers'
>>   group: name=developers state=present gid=2002
>>
>> - name: Common 'admin' users
>>   user: name={{ item.name }} comment={{ item.gecos }} group=admins 
>> state=present uid={{ item.uid }} update_password=always password={{ 
>> item.passwd }} shell=/bin/bash
>>   with_items:
>>         - name: test1
>>           gecos: "test1"
>>           uid: 2050
>>           passwd: 
>> $6$2trU.wqo$c.QAHAngzhx.i6VwGM9zGoh8KdX3e.2EAnzYf3SDdIBWZFVo4OdHQjPxVl/8wmmD6hWYnxeyMF9rLAfNMk3oa0
>>
>>         - name: test2
>>           gecos: "test2"
>>           uid: 2051
>>           passwd: 
>> $6$xIKLieVe$oFdw1N/FjdPQzdMGkViaG8UMTMwGhNBKvtVxMIbcDFTu3udXYtrH5un0Obmr6d9gDC66DK/dNfpP6jlESRtan/
>>
>>         - name: test3
>>           gecos: "test3"
>>           uid: 2052
>>           passwd: 
>> $6$9bJs8kiu$lS.Jz.cGdx5J3s.Mw5V80GzO.U6tLLMwztuDZJsAe2JjpYLCedR96fAHbHVaozv0zRUrtexErdgTYQU0o0tCh0
>>
>>         - name: test4
>>           gecos: "test4"
>>           uid: 2053
>>           passwd: 
>> $6$tmUQlubJ$0HI532QrAnlTGHwJlLEuGU2/uSAr42I2Y6aEFBbPlmXborYOlmVeCl5vI.YBLo3HDTFt/mx98HXv7yMqqgifa/
>>
>> - name: Set root password
>>   user: name=root update_password=always 
>> password=$6$HqRU2uvR$6GV6CYTbtkxpbX7POk9FGglzK3M4G8icIuEWlxnllDe4FswqsQQbIaEsbT/JhaQe9ot4pAS8A/1RDurOb1e/p.
>>
>> root@cm:/etc/ansible/roles/users_admin#
>>
>> And this is the playbook:
>>
>> root@cm:/etc/ansible/playbooks# cat test.yml
>> ---
>> - name: Common settings
>>   hosts: all
>>   roles:
>>     - users_admin
>> root@cm:/etc/ansible/playbooks#
>>
>> When I run the playbook, It fails in a newly installed Debian 7.5:
>>
>> root@cm:/etc/ansible/playbooks# ansible-playbook test.yml
>>
>> PLAY [Common settings] 
>> ********************************************************
>>
>> GATHERING FACTS 
>> ***************************************************************
>> ok: [test]
>>
>> TASK: [users_admin | Global group 'admins'] ***************
>> ok: [test]
>>
>> TASK: [users_admin | Global group 'support'] **************
>> ok: [test]
>>
>> TASK: [users_admin | Global group 'developers'] ***********
>> ok: [test]
>>
>> TASK: [users_admin | Common 'admin' users] ****************
>> fatal: [test] => Traceback (most recent call last):
>>   File "/usr/lib/pymodules/python2.7/ansible/runner/__init__.py", line 
>> 532, in _executor
>>     exec_rc = self._executor_internal(host, new_stdin)
>>   File "/usr/lib/pymodules/python2.7/ansible/runner/__init__.py", line 
>> 660, in _executor_internal
>>     complex_args=complex_args
>>   File "/usr/lib/pymodules/python2.7/ansible/runner/__init__.py", line 
>> 809, in _executor_internal_inner
>>     module_args = template.template(self.basedir, module_args, inject, 
>> fail_on_undefined=self.error_on_undefined_vars)
>>   File "/usr/lib/pymodules/python2.7/ansible/utils/template.py", line 
>> 321, in template
>>     varname = template_from_string(basedir, varname, vars, 
>> fail_on_undefined)
>>   File "/usr/lib/pymodules/python2.7/ansible/utils/template.py", line 
>> 543, in template_from_string
>>     data = data.decode('utf-8')
>>   File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
>>     return codecs.utf_8_decode(input, errors, True)
>> UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in 
>> position 83: ordinal not in range(128)
>>
>>
>> FATAL: all hosts have already failed -- aborting
>>
>> PLAY RECAP 
>> ********************************************************************
>>            to retry, use: --limit @/root/test.retry
>>
>> test                       : ok=4    changed=0    unreachable=1   
>>  failed=0
>>
>> root@cm:/etc/ansible/playbooks#
>>
>> Googling I found: 
>> http://mypy.pythonblogs.com/12_mypy/archive/1253_workaround_for_python_bug_ascii_codec_cant_encode_character_uxa0_in_position_111_ordinal_not_in_range128.html
>>
>> Output:
>>
>> root@test:~# python
>> Python 2.7.3 (default, Mar 13 2014, 11:03:55)
>> [GCC 4.7.2] on linux2
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> import sys
>> >>> sys.getdefaultencoding()
>> 'ascii'
>> >>>
>> root@test:~#
>>
>> root@test:~# echo $LANG
>> en_US.UTF-8
>> root@test:~#
>>
>> My Ansible version:
>>
>> root@cm:/etc/ansible# ansible-playbook --version
>> ansible-playbook 1.5.5
>> root@cm:/etc/ansible#
>>
>>
>>
>> Any idea what I'm doing wrong?
>>
>> If it helps, this problem does NOT occur on every server, It could be 
>> something misconfigured on the client side as the same playbook works 
>> perfectly on other servers.
>>
>> Thanks in advanced.
>>
>> Best regards, 
>> Joel.
>>
>>
>>
>>
>>
>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Ansible Project" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/f7e9ae39-f234-4f09-a414-2cbaba9dc8a4%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/f7e9ae39-f234-4f09-a414-2cbaba9dc8a4%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/b7edc00f-8850-4701-8ef7-a0b8bed1adb4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to