]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Removed direct access to MessagingServer
authorAlexei Kornienko <alexei.kornienko@gmail.com>
Thu, 31 Jul 2014 19:08:54 +0000 (22:08 +0300)
committermark mcclain <mmcclain@yahoo-inc.com>
Mon, 8 Sep 2014 16:13:53 +0000 (16:13 +0000)
Factory method provided by the library should be used to create a server
object. This allows to change servers internal implementation without
touching end users.

Also removed custom dispatcher. Its only purpose was to log messages.
If logging is configured accordingly all incoming messages will be
logged from oslo/messaging/_drivers/amqpdriver.py [1]

[1] http://goo.gl/nV9tcu

Closes-Bug: #1357236

Change-Id: Ic208994c5a64fd48528cb41d30a975d68d84af05

neutron/common/rpc.py

index 255551bc2cd770e09323828cb51bd1fe9546d3a2..9da79fd52227a0b79cdd0303284eba24209a7fce 100644 (file)
@@ -16,9 +16,7 @@
 
 from oslo.config import cfg
 from oslo import messaging
-from oslo.messaging.rpc import dispatcher as rpc_dispatcher
 from oslo.messaging import serializer as om_serializer
-from oslo.messaging import server as msg_server
 
 from neutron.common import exceptions
 from neutron.common import log
@@ -93,8 +91,8 @@ def get_client(target, version_cap=None, serializer=None):
 def get_server(target, endpoints, serializer=None):
     assert TRANSPORT is not None
     serializer = RequestContextSerializer(serializer)
-    dispatcher = RPCDispatcher(target, endpoints, serializer)
-    return msg_server.MessageHandlingServer(TRANSPORT, dispatcher, 'eventlet')
+    return messaging.get_rpc_server(TRANSPORT, target, endpoints,
+                                    'eventlet', serializer)
 
 
 def get_notifier(service=None, host=None, publisher_id=None):
@@ -104,18 +102,6 @@ def get_notifier(service=None, host=None, publisher_id=None):
     return NOTIFIER.prepare(publisher_id=publisher_id)
 
 
-class RPCDispatcher(rpc_dispatcher.RPCDispatcher):
-    def __call__(self, incoming):
-        # NOTE(yamahata): '***' is chosen for consistency with
-        # openstack.common.strutils.mask_password
-        sanitize_key_list = ('auth_token', )
-        sanitized_ctxt = dict((k, '***' if k in sanitize_key_list else v)
-                              for (k, v) in incoming.ctxt.items())
-        LOG.debug('Incoming RPC: ctxt:%s message:%s', sanitized_ctxt,
-                  incoming.message)
-        return super(RPCDispatcher, self).__call__(incoming)
-
-
 class RequestContextSerializer(om_serializer.Serializer):
     """This serializer is used to convert RPC common context into
     Neutron Context.