

from oslo_config import cfg
import oslo_messaging as messaging

OPTS = [
    cfg.StrOpt('rpc_topic',
               default='rpcapiv1',
               help='The topic vitrage listens on'),
]


def set_defaults(control_exchange):
    messaging.set_transport_defaults(control_exchange)


def get_client(transport, target, version_cap=None, serializer=None):
    assert transport is not None
    return messaging.RPCClient(transport,
                               target,
                               version_cap=version_cap,
                               serializer=serializer)


def get_server(target, endpoints, transport, serializer=None):
    assert transport is not None
    return messaging.get_rpc_server(transport,
                                    target,
                                    endpoints,
                                    executor='eventlet',
                                    serializer=serializer)



from oslo_config import cfg
import oslo_messaging as messaging
from oslo_messaging.rpc import dispatcher

OPTS = [
    cfg.StrOpt('rpc_topic',
               default='rpcapiv1',
               help='The topic vitrage listens on'),
]


def set_defaults(control_exchange):
    messaging.set_transport_defaults(control_exchange)


def get_client(transport, target, version_cap=None, serializer=None):
    assert transport is not None
    return messaging.RPCClient(transport,
                               target,
                               version_cap=version_cap,
                               serializer=serializer)


def get_server(target, endpoints, transport, serializer=None):
    assert transport is not None
    access_policy = dispatcher.DefaultRPCAccessPolicy
    return messaging.get_rpc_server(transport,
                                    target,
                                    endpoints,
                                    executor='eventlet',
                                    serializer=serializer,
                                    access_policy=access_policy)

Set access_policy for messaging's dispatcher
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:

"The access_policy argument is changing its default value to <class
'oslo_messaging.rpc.dispatcher.DefaultRPCAccessPolicy'> 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: Ib90013909237816cf906d584778f5e0ce7152fab

  
  
  from oslo_config import cfg
  import oslo_messaging as messaging
+ from oslo_messaging.rpc import dispatcher
  
  OPTS = [
      cfg.StrOpt('rpc_topic',
                 default='rpcapiv1',
                 help='The topic vitrage listens on'),
  ]
  
  
  def set_defaults(control_exchange):
      messaging.set_transport_defaults(control_exchange)
  
  
  def get_client(transport, target, version_cap=None, serializer=None):
      assert transport is not None
      return messaging.RPCClient(transport,
                                 target,
                                 version_cap=version_cap,
                                 serializer=serializer)
  
  
  def get_server(target, endpoints, transport, serializer=None):
      assert transport is not None
+     access_policy = dispatcher.DefaultRPCAccessPolicy
      return messaging.get_rpc_server(transport,
                                      target,
                                      endpoints,
                                      executor='eventlet',
-                                     serializer=serializer)
+                                     serializer=serializer,
+                                     access_policy=access_policy)
  
Set access_policy for messaging's dispatcher
## Code Before:


from oslo_config import cfg
import oslo_messaging as messaging

OPTS = [
    cfg.StrOpt('rpc_topic',
               default='rpcapiv1',
               help='The topic vitrage listens on'),
]


def set_defaults(control_exchange):
    messaging.set_transport_defaults(control_exchange)


def get_client(transport, target, version_cap=None, serializer=None):
    assert transport is not None
    return messaging.RPCClient(transport,
                               target,
                               version_cap=version_cap,
                               serializer=serializer)


def get_server(target, endpoints, transport, serializer=None):
    assert transport is not None
    return messaging.get_rpc_server(transport,
                                    target,
                                    endpoints,
                                    executor='eventlet',
                                    serializer=serializer)

## Instruction:
Set access_policy for messaging's dispatcher
## Code After:


from oslo_config import cfg
import oslo_messaging as messaging
from oslo_messaging.rpc import dispatcher

OPTS = [
    cfg.StrOpt('rpc_topic',
               default='rpcapiv1',
               help='The topic vitrage listens on'),
]


def set_defaults(control_exchange):
    messaging.set_transport_defaults(control_exchange)


def get_client(transport, target, version_cap=None, serializer=None):
    assert transport is not None
    return messaging.RPCClient(transport,
                               target,
                               version_cap=version_cap,
                               serializer=serializer)


def get_server(target, endpoints, transport, serializer=None):
    assert transport is not None
    access_policy = dispatcher.DefaultRPCAccessPolicy
    return messaging.get_rpc_server(transport,
                                    target,
                                    endpoints,
                                    executor='eventlet',
                                    serializer=serializer,
                                    access_policy=access_policy)
