Not a lot to go on... I do see that the two errors are happening in different places. That might be bad news for you as may mean that any fix for 1.9.3 might not be the fix needed for 1.7.2. But let's see what we can find:
On Wed, Sep 2, 2015 at 3:41 PM, Eugene Romero <[email protected]> wrote: > > TASK: [syslog-client | Stop the syslog-ng service before upgrading to > upstart] *** > Traceback (most recent call last): > File "/usr/bin/ansible-playbook", line 324, in <module> > sys.exit(main(sys.argv[1:])) > File "/usr/bin/ansible-playbook", line 264, in main > pb.run() > File "/usr/lib/pymodules/python2.7/ansible/playbook/__init__.py", line > 348, in run > if not self._run_play(play): > File "/usr/lib/pymodules/python2.7/ansible/playbook/__init__.py", line > 789, in _run_play > if not self._run_task(play, task, False): > File "/usr/lib/pymodules/python2.7/ansible/playbook/__init__.py", line > 497, in _run_task > results = self._run_task_internal(task, include_failed=include_failed) > File "/usr/lib/pymodules/python2.7/ansible/playbook/__init__.py", line > 439, in _run_task_internal > results = runner.run() > File "/usr/lib/pymodules/python2.7/ansible/runner/__init__.py", line 1493, > in run > results = [ self._executor(h, None) for h in hosts ] > File "/usr/lib/pymodules/python2.7/ansible/runner/__init__.py", line 590, > in _executor > msg = str(ae) > UnicodeEncodeError: 'ascii' codec can't encode characters in position 40-41: > ordinal not in range(128) > This is an error when trying to format this exception into a string for display. We can probably just substitute that line like this: - msg = str(ae) + from ansible.utils.unicode import to_bytes + msg = to_bytes(ae) That should solve this traceback but the fact we're getting an exception there means that something else has gone wrong... It could be something that you're expected to be able to handle by changing configuration in your network though, so doing this so that you can see what the actual error is should be helpful. If we're lucky, once you see what the underlying error is here, you can correct something else on your network and then 1.7.2 will run for you as well. I'll add a patch to the stable-1.9 tree to do this as well. Not sure if it will make 1.9.3 or not, though. https://github.com/ansible/ansible/commit/f80494e434d36c1845c9fb830b6bd26ebcf35a89 >> >> fatal: [******] => Traceback (most recent call last): >> >> File "/usr/lib/python2.7/dist-packages/ansible/runner/__init__.py", >> >> line >> >> 561, in _executor >> >> exec_rc = self._executor_internal(host, new_stdin) >> >> File "/usr/lib/python2.7/dist-packages/ansible/runner/__init__.py", >> >> line >> >> 666, in _executor_internal >> >> return self._executor_internal_inner(host, self.module_name, >> >> self.module_args, inject, port, complex_args=complex_args) >> >> File "/usr/lib/python2.7/dist-packages/ansible/runner/__init__.py", >> >> line >> >> 756, in _executor_internal_inner >> >> if not utils.check_conditional(cond, self.basedir, inject, >> >> fail_on_undefined=self.error_on_undefined_vars): >> >> File "/usr/lib/python2.7/dist-packages/ansible/utils/__init__.py", >> >> line >> >> 255, in check_conditional >> >> >> >> UnicodeEncodeError: 'ascii' codec can't encode characters in position >> >> 15-16: ordinal not in range(128) 1.7.2 is old and I'm not sure of some of the ramifications of making changes in the code (in newer versions of ansible we've been moving towards making sure that internally we handle everything as unicode strings and only using bytes when sending things externally. In 1.7.2 we weren't doing that so most things were likely byte strings. jinja2 takes and returns unicode type, however, so that's likely why we have a problem converting from what jinja2 is returning to us here.) but we may be able to fix this with the following code change: - original = str(conditional).replace("jinja2_compare ","") + tmp_conditional = to_bytes(conditional, errors='strict').replace("jinja2_compare ","") + original = tmp_conditional.replace("jinja2_compare ","") Not sure if that will just bring us another error, further down the line, though. -Toshio -- 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/CAG9juEpANgXM5x-tyj-Zyrf7e2a10cHqjBrbxDoiWpx3rC3w1Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
