From 4ba0b5fe7f31d4353e9c091b03df7324d1c20e88 Mon Sep 17 00:00:00 2001 From: ricolin Date: Mon, 17 Jul 2017 15:14:50 +0800 Subject: [PATCH] Fix no message attribute in exception For py35, message attribute in exception seems removed. We should directly get the string message from exception object if message attribute not presented. And since get message attribute already been deprecated. We should remove sopport on exception.message after we fully jump to py35. Partial-Bug: #1704725 Change-Id: I3970aa7c161aa82d179779f1a2f46405d5b0dddb --- heat/common/pluginutils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/heat/common/pluginutils.py b/heat/common/pluginutils.py index 7e407f3dd0..4820a69bb7 100644 --- a/heat/common/pluginutils.py +++ b/heat/common/pluginutils.py @@ -12,6 +12,7 @@ # under the License. from oslo_log import log as logging +import six LOG = logging.getLogger(__name__) @@ -21,5 +22,6 @@ def log_fail_msg(manager, entrypoint, exception): LOG.warning('Encountered exception while loading %(module_name)s: ' '"%(message)s". Not using %(name)s.', {'module_name': entrypoint.module_name, - 'message': exception.message, + 'message': getattr(exception, 'message', + six.text_type(exception)), 'name': entrypoint.name})