There have been sporadic UnicodeErrors that crop up from time to time. I've been trying squash them as they come up. 1.7.2 is pretty old so it won't have a lot of those fixes. Are you able to test (at least the failing task) on a newer version of ansible? That would tell you if the problem has been fixed already in a newer version.
If it's still failing with the newer version, narrowing down the problem would be helpful. Is it occurring with the first task or the second? (I'm guessing the first). What is the output from ansible-playbook -vvvv ? What LC* and LANG settings do you have on the remote box? -Toshio On Tue, Sep 1, 2015 at 1:03 PM, Eugene Romero <[email protected]> wrote: > Also, I tried changing "module_lang" to "en_US.UTF-8" in > /etc/ansible/ansible.cfg, but it made no difference. I don't have a > ansible.cfg in the playbook directory or .ansible.cfg in the home directory. > > Ansible version is 1.7.2. > > Thanks! > > > On Tuesday, September 1, 2015 at 2:58:35 PM UTC-5, Eugene Romero wrote: >> >> Hi all, >> >> Trying to run a playbook here, but getting a Unicode error. Here's what >> I'm doing: >> >> The plays: >> >> main.yml: >> >> - name: Check if new upstart job is needed >> template: >> src=syslog-ng-upstart.conf.j2 >> dest=/etc/init/syslog-ng.conf >> owner=root >> group=root >> mode=0644 >> backup=yes >> register: upstart >> >> - name: Update upstart configuration >> include: upstart.yml >> when: upstart.changed >> >> ------------------------ >> >> >> upstart.yml: >> >> - name: Stop the syslog-ng service before upgrading to upstart >> service: name=syslog-ng state=stopped >> >> - name: Move old sysV config >> command: mv /etc/init.d/syslog-ng /etc/init.d/syslog-ng.oldconf >> ignore_errors: yes >> >> - name: Link the upstart-job script to the syslog-ng job >> file: >> src=/lib/init/upstart-job >> path=/etc/init.d/syslog-ng >> state=link >> >> - name: Reload initctl config >> command: sudo initctl reload-configuration >> >> - name: Change perms on lock folder >> file: >> path=/var/lib/syslog-ng/ >> owner=syslog >> group=syslog >> mode=0755 >> state=directory >> >> - name: Restart syslog-ng service >> service: name=syslog-ng state=started >> >> ---------------------- >> >> Not sure if important, but the template file syslog-ng-upstart.conf.j2 is: >> >> start on runlevel [2345] >> stop on runlevel [!2345] >> >> nice 0 >> >> respawn >> respawn limit 3 15 >> >> normal exit 0 >> >> console log >> >> # defaults >> env OPT_ARGS='' >> env SYSLOG_GID='syslog' >> env SYSLOG_UID='syslog' >> env THREADS_NUM=5 >> >> script >> # load global defaults file >> if [ -f /etc/default/syslog-ng ]; then >> . /etc/default/syslog-ng >> fi >> exec /usr/sbin/syslog-ng ${OPT_ARGS} --foreground --process-mode >> foreground --stderr --worker-threads "${THREADS_NUM}" --user "${SYSLOG_UID}" >> --group "${SYSLOG_GID}" >> end script >> >> ------------------------------------- >> >> >> When I run this job, it errors out with the following message (server >> names edited out): >> >> GATHERING FACTS >> *************************************************************** >> ok: [******] >> >> TASK: [syslog-client | Check if new upstart job is needed] >> ******************** >> changed: [******] >> >> TASK: [syslog-client | Stop the syslog-ng service before upgrading to >> upstart] *** >> 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 >> original = str(conditional).replace("jinja2_compare ","") >> UnicodeEncodeError: 'ascii' codec can't encode characters in position >> 15-16: ordinal not in range(128) >> >> >> FATAL: all hosts have already failed -- aborting >> >> >> I have commented out the play that it errors out on, but the error just >> happens on the next play. So I think the error might have to do with the " >> register: upstart" bit. But I can't figure out where the problem is. >> >> Thanks in advance for any help you can provide. > > -- > 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/f788e29d-2c2a-40a1-91b9-cd55e85b41ea%40googlegroups.com. > > 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/CAG9juErA7K7qYEfryO80HNam509Mo4HDKSj7kvY0vUw4PuBcWg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
