From 2efe211f361fdb5495c1d2636878adf36c0a8d5d Mon Sep 17 00:00:00 2001 From: shubhendu Date: Mon, 24 Apr 2017 11:29:12 +0530 Subject: [PATCH] Set access_policy for messaging's dispatcher oslo.messaging allow dispatcher to restrict endpoint methods with DefaultRPCAccessPolicy to fix FutureWarning Closes-Bug:1663543 Change-Id: I0288320193b0153ee223664696abca21cbdb0349 --- watcher/common/rpc.py | 6 +++++- watcher/common/service.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/watcher/common/rpc.py b/watcher/common/rpc.py index 09b7dd6e9..c8aceeb05 100644 --- a/watcher/common/rpc.py +++ b/watcher/common/rpc.py @@ -17,6 +17,8 @@ from oslo_config import cfg from oslo_log import log import oslo_messaging as messaging +from oslo_messaging.rpc import dispatcher + from watcher.common import context as watcher_context from watcher.common import exception @@ -128,12 +130,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(publisher_id): diff --git a/watcher/common/service.py b/watcher/common/service.py index 3c80edc1b..6e1eba113 100644 --- a/watcher/common/service.py +++ b/watcher/common/service.py @@ -28,6 +28,8 @@ from oslo_reports import opts as gmr_opts from oslo_service import service from oslo_service import wsgi +from oslo_messaging.rpc import dispatcher + from watcher._i18n import _ from watcher.api import app from watcher.common import config @@ -225,6 +227,7 @@ class Service(service.ServiceBase): self.conductor_client = c def build_topic_handler(self, topic_name, endpoints=()): + access_policy = dispatcher.DefaultRPCAccessPolicy serializer = rpc.RequestContextSerializer(rpc.JsonPayloadSerializer()) target = om.Target( topic=topic_name, @@ -234,7 +237,8 @@ class Service(service.ServiceBase): ) return om.get_rpc_server( self.transport, target, endpoints, - executor='eventlet', serializer=serializer) + executor='eventlet', serializer=serializer, + access_policy=access_policy) def build_notification_handler(self, topic_names, endpoints=()): serializer = rpc.RequestContextSerializer(rpc.JsonPayloadSerializer())