diff options
author | Toshio Kuratomi <toshio@fedoraproject.org> | 2015-01-27 14:18:06 -0800 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2015-02-17 14:03:22 -0600 |
commit | 6b315d57d63e45a91f1207c1d81ec7459ddba714 (patch) | |
tree | 4c9d5797b89eb078381e33f58c82b2c76bef3ded | |
parent | 71934a118c4642a3ca49d3aac85f68cb625573e5 (diff) | |
download | ansible-6b315d57d63e45a91f1207c1d81ec7459ddba714.tar.gz |
ansible.utils to_unicode/to_bytes isn't robust in the face of
non-strings. Do some value checking in the calling code
-rw-r--r-- | lib/ansible/callbacks.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/ansible/callbacks.py b/lib/ansible/callbacks.py index 6469401c92..a84dd75e70 100644 --- a/lib/ansible/callbacks.py +++ b/lib/ansible/callbacks.py @@ -27,6 +27,7 @@ import fcntl import constants import locale from ansible.color import stringc +from ansible.module_utils import basic import logging if constants.DEFAULT_LOG_PATH != '': @@ -456,8 +457,12 @@ class PlaybookRunnerCallbacks(DefaultRunnerCallbacks): item = None if type(results) == dict: item = results.get('item', None) + if isinstance(item, unicode): + item = utils.to_bytes(item) + results = basic.json_dict_unicode_to_bytes(results) + else: + results = utils.to_bytes(results) host = utils.to_bytes(host) - results = utils.to_bytes(results) if item: msg = "fatal: [%s] => (item=%s) => %s" % (host, item, results) else: |