diff --git a/oslo_versionedobjects/base.py b/oslo_versionedobjects/base.py index 402f1dd3..fc2200e3 100644 --- a/oslo_versionedobjects/base.py +++ b/oslo_versionedobjects/base.py @@ -20,6 +20,7 @@ import copy import logging import oslo_messaging as messaging +from oslo_utils import encodeutils from oslo_utils import excutils import six @@ -294,13 +295,16 @@ class VersionedObject(object): setattr(self, key, kwargs[key]) def __repr__(self): - return '%s(%s)' % ( + repr_str = '%s(%s)' % ( self.obj_name(), ','.join(['%s=%s' % (name, (self.obj_attr_is_set(name) and field.stringify(getattr(self, name)) or '')) for name, field in sorted(self.fields.items())])) + if not six.PY3: + repr_str = encodeutils.safe_encode(repr_str, incoming='utf-8') + return repr_str @classmethod def obj_name(cls):