From 21a4fb6f927a3a13870a7900b95aaa88766b98b3 Mon Sep 17 00:00:00 2001 From: deepakmourya Date: Tue, 20 Jun 2017 14:22:04 +0530 Subject: [PATCH] Set access_policy for messaging's dispatcher oslo.messaging allow dispatcher to restrict endpoint methods since 5.11.0 in I42239e6c8a8be158ddf5c3b1773463b7dc93e881, set with LegacyRPCAccessPolicy explicitly to ensure it's compatible and fix FutureWarning like: "The access_policy argument is changing its default value to in version '?', please update the code to explicitly set None as the value: access_policy defaults to LegacyRPCAccessPolicy which exposes private methods. Explicitly set access_policy to DefaultRPCAccessPolicy or ExplicitRPCAccessPolicy. Change-Id: I31e572d760600f890402a53f0d34eb1b87d722d7 --- cloudpulse/common/rpc.py | 5 ++++- cloudpulse/common/rpc_service.py | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/cloudpulse/common/rpc.py b/cloudpulse/common/rpc.py index 03e6b87..e6bcfd2 100644 --- a/cloudpulse/common/rpc.py +++ b/cloudpulse/common/rpc.py @@ -29,6 +29,7 @@ __all__ = [ from oslo_config import cfg import oslo_messaging as messaging +from oslo_messaging.rpc import dispatcher from oslo_serialization import jsonutils from cloudpulse.common import context as cloudpulse_context @@ -132,12 +133,14 @@ def get_client(target, version_cap=None, serializer=None): def get_server(target, endpoints, serializer=None): assert TRANSPORT is not None + access_policy = dispatcher.DefaultRPCAccessPolicy serializer = RequestContextSerializer(serializer) return messaging.get_rpc_server(TRANSPORT, target, endpoints, executor='eventlet', - serializer=serializer) + serializer=serializer, + access_policy=access_policy) def get_notifier(service=None, host=None, publisher_id=None): diff --git a/cloudpulse/common/rpc_service.py b/cloudpulse/common/rpc_service.py index a117c6c..b4edf81 100644 --- a/cloudpulse/common/rpc_service.py +++ b/cloudpulse/common/rpc_service.py @@ -17,12 +17,12 @@ import eventlet from oslo_config import cfg import oslo_messaging as messaging +from oslo_messaging.rpc import dispatcher from cloudpulse.common import context as cloudpulse_context from cloudpulse.common import rpc from cloudpulse.objects import base as objects_base - # NOTE(paulczar): # Ubuntu 14.04 forces librabbitmq when kombu is used # Unfortunately it forces a version that has a crash @@ -72,8 +72,10 @@ class Service(object): aliases=TRANSPORT_ALIASES) # TODO(asalkeld) add support for version='x.y' target = messaging.Target(topic=topic, server=server) + access_policy = dispatcher.DefaultRPCAccessPolicy self._server = messaging.get_rpc_server(transport, target, handlers, - serializer=serializer) + serializer=serializer, + access_policy=access_policy) def serve(self): self._server.start()