From 37556080ed4bac9004cd4b7d7b9af3f0bf89313a Mon Sep 17 00:00:00 2001 From: shubhendu Date: Fri, 28 Apr 2017 19:38:22 +0530 Subject: [PATCH] Set access_policy for messaging's dispatcher oslo.messaging allow dispatcher to restrict endpoint methods since 5.11.0 in d3a8f280ebd6fd12865fd20c4d772774e39aefa2, set with DefaultRPCAccessPolicy to fix FutureWarning like: FutureWarning: 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: I9ffa8e972f2015a5ac1a478252db0e017637132c --- iotronic/common/rpc.py | 5 ++++- iotronic/conductor/manager.py | 10 ++++++---- iotronic/wamp/agent.py | 10 ++++++---- requirements.txt | 2 +- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/iotronic/common/rpc.py b/iotronic/common/rpc.py index 7a7b8ac..8e834cb 100644 --- a/iotronic/common/rpc.py +++ b/iotronic/common/rpc.py @@ -15,6 +15,7 @@ from oslo_config import cfg import oslo_messaging as messaging +from oslo_messaging.rpc import dispatcher from oslo_serialization import jsonutils from iotronic.common import context as iotronic_context @@ -133,12 +134,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/iotronic/conductor/manager.py b/iotronic/conductor/manager.py index 8165254..ba8db9c 100644 --- a/iotronic/conductor/manager.py +++ b/iotronic/conductor/manager.py @@ -21,6 +21,7 @@ import os from oslo_config import cfg from oslo_log import log as logging import oslo_messaging +from oslo_messaging.rpc import dispatcher import signal import time @@ -85,10 +86,11 @@ class ConductorManager(object): endpoints = [ endp.ConductorEndpoint(ragent), ] - self.server = oslo_messaging.get_rpc_server(transport, - target, - endpoints, - executor='threading') + access_policy = dispatcher.DefaultRPCAccessPolicy + self.server = oslo_messaging.get_rpc_server( + transport, target, + endpoints, executor='threading', + access_policy=access_policy) self.server.start() diff --git a/iotronic/wamp/agent.py b/iotronic/wamp/agent.py index aa36f7e..2d7f5f3 100644 --- a/iotronic/wamp/agent.py +++ b/iotronic/wamp/agent.py @@ -25,6 +25,7 @@ from iotronic.db import api as dbapi from oslo_config import cfg from oslo_log import log as logging import oslo_messaging +from oslo_messaging.rpc import dispatcher import threading from threading import Thread from twisted.internet.protocol import ReconnectingClientFactory @@ -172,10 +173,11 @@ class RPCServer(Thread): target = oslo_messaging.Target(topic=AGENT_HOST + '.s4t_invoke_wamp', server='server1') - self.server = oslo_messaging.get_rpc_server(transport, - target, - endpoints, - executor='threading') + access_policy = dispatcher.DefaultRPCAccessPolicy + self.server = oslo_messaging.get_rpc_server( + transport, target, + endpoints, executor='threading', + access_policy=access_policy) def run(self): LOG.info("Starting AMQP server... ") diff --git a/requirements.txt b/requirements.txt index 640a620..f5ccd25 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,4 +16,4 @@ pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD keystonemiddleware!=4.5.0,>=4.2.0 # Apache-2.0 autobahn>=0.10.1 # MIT License #Twisted>=16.5.0 # MIT -WSME>=0.8 # MIT \ No newline at end of file +WSME>=0.8 # MIT