Obscure error message in Unicode-related jinja2 template fail

225 views
Skip to first unread message

Alan Orth

unread,
Apr 18, 2016, 8:29:00 AM4/18/16
to Ansible Project
Hi,

I was trying to template PHP 7's default pool.conf file and ran into this unhelpful error message with Ansible 2.0.1.0:

[WARNING]: Failure when attempting to use callback plugin (<ansible.plugins.callback.default.CallbackModule object at 0x1015f3f10>): 'ascii' codec can't
decode byte 0xc2 in position 9200: ordinal not in range(128)

I spent quite a bit of time trying to figure out what character was at position 9200, until I noticed that Ansible 2.0.0.2 and 1.9.6 give a much more useful error message:

fatal: [web01] => {'msg': 'One or more items failed.', 'failed': True, 'changed': False, 'results': [{'msg': "AnsibleError: file: /some/path/php7.0-pool.conf.j2, line number: 303, error: Encountered unknown tag 'Y'.", 'failed': True}]}

It turns out that line 303 is:

;      e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t

Deleting this line allows the template task to finish successfully. Should I file an issue on GitHub?

Thanks,

Marc Riepen

unread,
May 5, 2016, 9:35:32 AM5/5/16
to Ansible Project
Thanks Alan, that was exactly my issue. Took me a good hour to figure it out, but only because of your post.

Johannes Kastl

unread,
May 6, 2016, 3:47:49 AM5/6/16
to ansible...@googlegroups.com
On 15.04.16 22:57 Alan Orth wrote:

> [WARNING]: Failure when attempting to use callback plugin
> (<ansible.plugins.callback.default.CallbackModule object at 0x1015f3f10>):
> 'ascii' codec can't
> decode byte 0xc2 in position 9200: ordinal not in range(128)
>
> I spent quite a bit of time trying to figure out what character was at
> position 9200, until I noticed that Ansible 2.0.0.2 and 1.9.6 give a much
> more useful error message:
>
> fatal: [web01] => {'msg': 'One or more items failed.', 'failed': True,
> 'changed': False, 'results': [{'msg': "AnsibleError: file:
> /some/path/php7.0-pool.conf.j2, line number: 303, error: Encountered
> unknown tag 'Y'.", 'failed': True}]}
>
> It turns out that line 303 is:
>
> ; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
>
> Deleting this line allows the template task to finish successfully. Should
> I file an issue on GitHub?

If there is none already, I would say yes.

Similar issue:
https://github.com/ansible/ansible/issues/14258

Johannes

signature.asc
Reply all
Reply to author
Forward
0 new messages