From 067b76d9a821c3acb60d93787396d25b729a7421 Mon Sep 17 00:00:00 2001 From: ChenZheng Date: Tue, 29 Oct 2013 17:02:28 +0800 Subject: [PATCH] Ceilometer UnicodeEncodeError when update or show alarm fix Fix display bug in ceilometer alarm-update ceilometer alarm-show when encounter a alarm with not unicode attributes. Change-Id: I0af0f1d6b8393c7117eb5b56fba3d5e1f4935ff1 Closes-bug: #1245317 --- ceilometerclient/common/utils.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ceilometerclient/common/utils.py b/ceilometerclient/common/utils.py index 82f5b08d..2d3176ba 100644 --- a/ceilometerclient/common/utils.py +++ b/ceilometerclient/common/utils.py @@ -26,6 +26,7 @@ import prettytable from ceilometerclient import exc from ceilometerclient.openstack.common import cliutils from ceilometerclient.openstack.common import importutils +from ceilometerclient.openstack.common import strutils # Decorator for cli-args @@ -74,6 +75,8 @@ def print_dict(d, dict_property="Property", wrap=0): # convert dict to str to check length if isinstance(v, dict): v = str(v) + if isinstance(v, six.string_types): + v = strutils.safe_encode(v) # if value has a newline, add in multiple rows # e.g. fault with stacktrace if v and isinstance(v, six.string_types) and r'\n' in v: