From 422b31ca4fd4c8ea1ed60b1400d7c2c006086a40 Mon Sep 17 00:00:00 2001 From: LiuSheng Date: Wed, 12 Aug 2015 20:43:27 +0800 Subject: [PATCH] Use the Serializer from oslo.messaging The RequestContextSerializer and JsonPayloadSerializer have been implemented in oslo.messaging. Change-Id: I00a37f1e5bd9a9d7263cea3f7c8cb5d7e28a2ca9 --- aodh/messaging.py | 41 +++++++---------------------------------- requirements.txt | 2 +- 2 files changed, 8 insertions(+), 35 deletions(-) diff --git a/aodh/messaging.py b/aodh/messaging.py index 6037a1116..425726bef 100644 --- a/aodh/messaging.py +++ b/aodh/messaging.py @@ -13,43 +13,13 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo_context import context import oslo_messaging -from oslo_serialization import jsonutils +from oslo_messaging import serializer as oslo_serializer DEFAULT_URL = "__default__" TRANSPORTS = {} -class RequestContextSerializer(oslo_messaging.Serializer): - def __init__(self, base): - self._base = base - - def serialize_entity(self, ctxt, entity): - if not self._base: - return entity - return self._base.serialize_entity(ctxt, entity) - - def deserialize_entity(self, ctxt, entity): - if not self._base: - return entity - return self._base.deserialize_entity(ctxt, entity) - - @staticmethod - def serialize_context(ctxt): - return ctxt.to_dict() - - @staticmethod - def deserialize_context(ctxt): - return context.RequestContext(ctxt) - - -class JsonPayloadSerializer(oslo_messaging.NoOpSerializer): - @classmethod - def serialize_entity(cls, context, entity): - return jsonutils.to_primitive(entity, convert_instances=True) - - def setup(): oslo_messaging.set_transport_defaults('aodh') @@ -77,7 +47,8 @@ def get_transport(conf, url=None, optional=False, cache=True): def get_rpc_server(conf, transport, topic, endpoint): """Return a configured oslo_messaging rpc server.""" target = oslo_messaging.Target(server=conf.host, topic=topic) - serializer = RequestContextSerializer(JsonPayloadSerializer()) + serializer = oslo_serializer.RequestContextSerializer( + oslo_serializer.JsonPayloadSerializer()) return oslo_messaging.get_rpc_server(transport, target, [endpoint], executor='eventlet', serializer=serializer) @@ -86,7 +57,8 @@ def get_rpc_server(conf, transport, topic, endpoint): def get_rpc_client(transport, retry=None, **kwargs): """Return a configured oslo_messaging RPCClient.""" target = oslo_messaging.Target(**kwargs) - serializer = RequestContextSerializer(JsonPayloadSerializer()) + serializer = oslo_serializer.RequestContextSerializer( + oslo_serializer.JsonPayloadSerializer()) return oslo_messaging.RPCClient(transport, target, serializer=serializer, retry=retry) @@ -102,6 +74,7 @@ def get_notification_listener(transport, targets, endpoints, def get_notifier(transport, publisher_id): """Return a configured oslo_messaging notifier.""" - serializer = RequestContextSerializer(JsonPayloadSerializer()) + serializer = oslo_serializer.RequestContextSerializer( + oslo_serializer.JsonPayloadSerializer()) notifier = oslo_messaging.Notifier(transport, serializer=serializer) return notifier.prepare(publisher_id=publisher_id) diff --git a/requirements.txt b/requirements.txt index 7518b1f50..1a0693f04 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,7 +19,7 @@ oslo.service>=0.1.0 # Apache-2.0 PasteDeploy>=1.5.0 pbr<2.0,>=0.11 pecan>=0.8.0 -oslo.messaging!=1.12.0,>=1.8.0 # Apache-2.0 +oslo.messaging>1.17.1 # Apache-2.0 oslo.middleware!=2.0.0,>=1.2.0 # Apache-2.0 oslo.serialization>=1.4.0 # Apache-2.0 oslo.utils>=1.9.0 # Apache-2.0