summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/ansible3
-rw-r--r--lib/ansible/executor/process/worker.py7
-rw-r--r--lib/ansible/executor/task_queue_manager.py3
-rw-r--r--lib/ansible/plugins/connection/winrm.py12
4 files changed, 14 insertions, 11 deletions
diff --git a/bin/ansible b/bin/ansible
index 627510a72e..a02c5bc174 100755
--- a/bin/ansible
+++ b/bin/ansible
@@ -40,6 +40,7 @@ from ansible.errors import AnsibleError, AnsibleOptionsError, AnsibleParserError
from ansible.utils.display import Display
from ansible.utils.unicode import to_unicode
+
########################################
### OUTPUT OF LAST RESORT ###
class LastResort(object):
@@ -108,7 +109,7 @@ if __name__ == '__main__':
have_cli_options = cli is not None and cli.options is not None
display.error("Unexpected Exception: %s" % to_unicode(e), wrap_text=False)
if not have_cli_options or have_cli_options and cli.options.verbosity > 2:
- display.display("the full traceback was:\n\n%s" % traceback.format_exc())
+ display.display(u"the full traceback was:\n\n%s" % to_unicode(traceback.format_exc()))
else:
display.display("to see the full traceback, use -vvv")
sys.exit(250)
diff --git a/lib/ansible/executor/process/worker.py b/lib/ansible/executor/process/worker.py
index 73f5faa78b..120bd8b141 100644
--- a/lib/ansible/executor/process/worker.py
+++ b/lib/ansible/executor/process/worker.py
@@ -48,6 +48,7 @@ from ansible.playbook.task import Task
from ansible.vars.unsafe_proxy import AnsibleJSONUnsafeDecoder
from ansible.utils.debug import debug
+from ansible.utils.unicode import to_unicode
__all__ = ['WorkerProcess']
@@ -135,11 +136,11 @@ class WorkerProcess(multiprocessing.Process):
try:
self._host.vars = dict()
self._host.groups = []
- task_result = TaskResult(self._host, self._task, dict(failed=True, exception=traceback.format_exc(), stdout=''))
+ task_result = TaskResult(self._host, self._task, dict(failed=True, exception=to_unicode(traceback.format_exc()), stdout=''))
self._rslt_q.put(task_result, block=False)
except:
- debug("WORKER EXCEPTION: %s" % e)
- debug("WORKER EXCEPTION: %s" % traceback.format_exc())
+ debug(u"WORKER EXCEPTION: %s" % to_unicode(e))
+ debug(u"WORKER EXCEPTION: %s" % to_unicode(traceback.format_exc()))
debug("WORKER PROCESS EXITING")
diff --git a/lib/ansible/executor/task_queue_manager.py b/lib/ansible/executor/task_queue_manager.py
index b5260c1f41..64b952126f 100644
--- a/lib/ansible/executor/task_queue_manager.py
+++ b/lib/ansible/executor/task_queue_manager.py
@@ -35,6 +35,7 @@ from ansible.plugins import callback_loader, strategy_loader, module_loader
from ansible.template import Templar
from ansible.vars.hostvars import HostVars
from ansible.plugins.callback import CallbackBase
+from ansible.utils.unicode import to_unicode
try:
from __main__ import display
@@ -306,7 +307,7 @@ class TaskQueueManager:
method(*args, **kwargs)
except Exception as e:
import traceback
- orig_tb = traceback.format_exc()
+ orig_tb = to_unicode(traceback.format_exc())
try:
v1_method = method.replace('v2_','')
v1_method(*args, **kwargs)
diff --git a/lib/ansible/plugins/connection/winrm.py b/lib/ansible/plugins/connection/winrm.py
index dec4878740..ef2f630f97 100644
--- a/lib/ansible/plugins/connection/winrm.py
+++ b/lib/ansible/plugins/connection/winrm.py
@@ -137,20 +137,20 @@ class Connection(ConnectionBase):
protocol.send_message('')
return protocol
except Exception as e:
- err_msg = (str(e) or repr(e)).strip()
- if re.search(r'Operation\s+?timed\s+?out', err_msg, re.I):
+ err_msg = to_unicode(e).strip()
+ if re.search(ur'Operation\s+?timed\s+?out', err_msg, re.I):
raise AnsibleError('the connection attempt timed out')
- m = re.search(r'Code\s+?(\d{3})', err_msg)
+ m = re.search(ur'Code\s+?(\d{3})', err_msg)
if m:
code = int(m.groups()[0])
if code == 401:
err_msg = 'the username/password specified for this server was incorrect'
elif code == 411:
return protocol
- errors.append('%s: %s' % (transport, err_msg))
- display.vvvvv('WINRM CONNECTION ERROR: %s\n%s' % (err_msg, traceback.format_exc()), host=self._winrm_host)
+ errors.append(u'%s: %s' % (transport, err_msg))
+ display.vvvvv(u'WINRM CONNECTION ERROR: %s\n%s' % (err_msg, to_unicode(traceback.format_exc())), host=self._winrm_host)
if errors:
- raise AnsibleError(', '.join(errors))
+ raise AnsibleError(', '.join(to_str(errors)))
else:
raise AnsibleError('No transport found for WinRM connection')