]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Introduce RpcCallback class
authorIhar Hrachyshka <ihrachys@redhat.com>
Fri, 30 May 2014 15:03:00 +0000 (17:03 +0200)
committerIhar Hrachyshka <ihrachys@redhat.com>
Mon, 16 Jun 2014 10:44:22 +0000 (12:44 +0200)
This class will be used to create proper self.target with appropriate
API version once we migrate to oslo.messaging.

blueprint oslo-messaging

Change-Id: I1fb5eb0aaac0d115fd84630e58b333e695ad4f5f

34 files changed:
neutron/common/rpc_compat.py
neutron/db/agents_db.py
neutron/manager.py
neutron/plugins/bigswitch/agent/restproxy_agent.py
neutron/plugins/bigswitch/plugin.py
neutron/plugins/brocade/NeutronPlugin.py
neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py
neutron/plugins/hyperv/agent/hyperv_neutron_agent.py
neutron/plugins/hyperv/rpc_callbacks.py
neutron/plugins/ibm/agent/sdnve_neutron_agent.py
neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py
neutron/plugins/linuxbridge/lb_neutron_plugin.py
neutron/plugins/midonet/plugin.py
neutron/plugins/ml2/rpc.py
neutron/plugins/mlnx/agent/eswitch_neutron_agent.py
neutron/plugins/mlnx/rpc_callbacks.py
neutron/plugins/nec/agent/nec_neutron_agent.py
neutron/plugins/nec/nec_plugin.py
neutron/plugins/ofagent/agent/ofa_neutron_agent.py
neutron/plugins/oneconvergence/agent/nvsd_neutron_agent.py
neutron/plugins/oneconvergence/plugin.py
neutron/plugins/openvswitch/agent/ovs_neutron_agent.py
neutron/plugins/openvswitch/ovs_neutron_plugin.py
neutron/plugins/ryu/agent/ryu_neutron_agent.py
neutron/plugins/ryu/ryu_neutron_plugin.py
neutron/plugins/vmware/dhcp_meta/rpc.py
neutron/services/firewall/fwaas_plugin.py
neutron/services/l3_router/l3_router_plugin.py
neutron/services/loadbalancer/agent/agent_manager.py
neutron/services/loadbalancer/drivers/common/agent_driver_base.py
neutron/services/vpn/device_drivers/cisco_ipsec.py
neutron/services/vpn/device_drivers/ipsec.py
neutron/services/vpn/service_drivers/cisco_ipsec.py
neutron/services/vpn/service_drivers/ipsec.py

index 6854f572841cce361777540e960ae6e94f131978..2e95ee2bd52b3251afd20e2dbe1564d4a22da128 100644 (file)
@@ -26,6 +26,15 @@ class RpcProxy(proxy.RpcProxy):
     '''
 
 
+class RpcCallback(object):
+    '''
+    This class is created to facilitate migration from oslo-incubator
+    RPC layer implementation to oslo.messaging and is intended to set
+    callback version using oslo.messaging API once the migration is
+    applied.
+    '''
+
+
 # exceptions
 RPCException = rpc_common.RPCException
 RemoteError = rpc_common.RemoteError
index 02abda02abb4b393173807a94b5c1de0da4361b7..57712066ada4f0950eb6a804733244f33418df9c 100644 (file)
@@ -19,6 +19,7 @@ from oslo.config import cfg
 import sqlalchemy as sa
 from sqlalchemy.orm import exc
 
+from neutron.common import rpc_compat
 from neutron.db import model_base
 from neutron.db import models_v2
 from neutron.extensions import agent as ext_agent
@@ -195,13 +196,14 @@ class AgentDbMixin(ext_agent.AgentPluginBase):
                     return self._create_or_update_agent(context, agent)
 
 
-class AgentExtRpcCallback(object):
+class AgentExtRpcCallback(rpc_compat.RpcCallback):
     """Processes the rpc report in plugin implementations."""
 
     RPC_API_VERSION = '1.0'
     START_TIME = timeutils.utcnow()
 
     def __init__(self, plugin=None):
+        super(AgentExtRpcCallback, self).__init__()
         self.plugin = plugin
 
     def report_state(self, context, **kwargs):
index 699af4e7a9a9fdb9e96d9ebb1127e8afac375d06..2c4e7f9945963cf42f7247a6ac1c0a109bdcde2a 100644 (file)
@@ -17,6 +17,7 @@ import weakref
 
 from oslo.config import cfg
 
+from neutron.common import rpc_compat
 from neutron.common import utils
 from neutron.openstack.common import importutils
 from neutron.openstack.common import log as logging
@@ -29,7 +30,7 @@ from stevedore import driver
 LOG = logging.getLogger(__name__)
 
 
-class Manager(periodic_task.PeriodicTasks):
+class Manager(rpc_compat.RpcCallback, periodic_task.PeriodicTasks):
 
     # Set RPC API version to 1.0 by default.
     RPC_API_VERSION = '1.0'
index 1d42c6df8600ef44a062c24858493d74adc77ec2..7b95f3554d3ce27426ed42c1154a8b12aed7fe7a 100644 (file)
@@ -30,6 +30,7 @@ from neutron.agent.linux import utils
 from neutron.agent import rpc as agent_rpc
 from neutron.agent import securitygroups_rpc as sg_rpc
 from neutron.common import config
+from neutron.common import rpc_compat
 from neutron.common import topics
 from neutron import context as q_context
 from neutron.extensions import securitygroup as ext_sg
@@ -84,7 +85,8 @@ class SecurityGroupAgent(sg_rpc.SecurityGroupAgentRpcMixin):
         self.init_firewall()
 
 
-class RestProxyAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin):
+class RestProxyAgent(rpc_compat.RpcCallback,
+                     sg_rpc.SecurityGroupAgentRpcCallbackMixin):
 
     RPC_API_VERSION = '1.1'
 
index c0b6751dea796f1cb1ebf47b596ff66229e50628..230098a2ca654bb319d05ce338ff6d60f8bb4313 100644 (file)
@@ -115,7 +115,8 @@ class AgentNotifierApi(rpc_compat.RpcProxy,
                          topic=self.topic_port_update)
 
 
-class RestProxyCallbacks(sg_rpc_base.SecurityGroupServerRpcCallbackMixin,
+class RestProxyCallbacks(rpc_compat.RpcCallback,
+                         sg_rpc_base.SecurityGroupServerRpcCallbackMixin,
                          dhcp_rpc_base.DhcpRpcCallbackMixin):
 
     RPC_API_VERSION = '1.1'
index c62d8939e8981b9b398fbb1d6230f1a5c6d0b7ee..9eb4db2df5547b07869288892189f96ddeb8120d 100644 (file)
@@ -81,7 +81,8 @@ cfg.CONF.register_opts(SWITCH_OPTS, "SWITCH")
 cfg.CONF.register_opts(PHYSICAL_INTERFACE_OPTS, "PHYSICAL_INTERFACE")
 
 
-class BridgeRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin,
+class BridgeRpcCallbacks(rpc_compat.RpcCallback,
+                         dhcp_rpc_base.DhcpRpcCallbackMixin,
                          l3_rpc_base.L3RpcCallbackMixin,
                          sg_db_rpc.SecurityGroupServerRpcCallbackMixin):
     """Agent callback."""
index 4e1f792fa5f6f9f57d5f76f478a86394c2da8b7a..2f60e1790507b3f5d533c823ce98a911fe48b708 100644 (file)
@@ -29,6 +29,7 @@ from neutron.api.v2 import attributes
 from neutron.common import constants
 from neutron.common import exceptions as n_exc
 from neutron.common import rpc as q_rpc
+from neutron.common import rpc_compat
 from neutron.common import topics
 from neutron.common import utils
 from neutron.db import agents_db
@@ -60,7 +61,8 @@ from neutron.plugins.common import constants as svc_constants
 LOG = logging.getLogger(__name__)
 
 
-class N1kvRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin,
+class N1kvRpcCallbacks(rpc_compat.RpcCallback,
+                       dhcp_rpc_base.DhcpRpcCallbackMixin,
                        l3_rpc_base.L3RpcCallbackMixin):
 
     """Class to handle agent RPC calls."""
index 032504d484e96d9a42181737c3fba2a104278c17..df9673cd77911c9cd376edb63e6a94ee4747379e 100644 (file)
@@ -32,6 +32,7 @@ from neutron.agent import rpc as agent_rpc
 from neutron.agent import securitygroups_rpc as sg_rpc
 from neutron.common import config as logging_config
 from neutron.common import constants as n_const
+from neutron.common import rpc_compat
 from neutron.common import topics
 from neutron import context
 from neutron.openstack.common import log as logging
@@ -80,11 +81,13 @@ CONF.register_opts(agent_opts, "AGENT")
 config.register_agent_state_opts_helper(cfg.CONF)
 
 
-class HyperVSecurityAgent(sg_rpc.SecurityGroupAgentRpcMixin):
+class HyperVSecurityAgent(rpc_compat.RpcCallback,
+                          sg_rpc.SecurityGroupAgentRpcMixin):
     # Set RPC API version to 1.1 by default.
     RPC_API_VERSION = '1.1'
 
     def __init__(self, context, plugin_rpc):
+        super(HyperVSecurityAgent, self).__init__()
         self.context = context
         self.plugin_rpc = plugin_rpc
 
@@ -106,11 +109,13 @@ class HyperVSecurityAgent(sg_rpc.SecurityGroupAgentRpcMixin):
         return dispatcher.RpcDispatcher([rpc_callback])
 
 
-class HyperVSecurityCallbackMixin(sg_rpc.SecurityGroupAgentRpcCallbackMixin):
+class HyperVSecurityCallbackMixin(rpc_compat.RpcCallback,
+                                  sg_rpc.SecurityGroupAgentRpcCallbackMixin):
     # Set RPC API version to 1.1 by default.
     RPC_API_VERSION = '1.1'
 
     def __init__(self, sg_agent):
+        super(HyperVSecurityCallbackMixin, self).__init__()
         self.sg_agent = sg_agent
 
 
@@ -119,11 +124,12 @@ class HyperVPluginApi(agent_rpc.PluginApi,
     pass
 
 
-class HyperVNeutronAgent(object):
+class HyperVNeutronAgent(rpc_compat.RpcCallback):
     # Set RPC API version to 1.0 by default.
     RPC_API_VERSION = '1.0'
 
     def __init__(self):
+        super(HyperVNeutronAgent, self).__init__()
         self._utils = utilsfactory.get_hypervutils()
         self._polling_interval = CONF.AGENT.polling_interval
         self._load_physical_network_mappings()
index aa8b7c0b98da0b16611c14b54fb9384a95f4c655..dafc160e7590e7a28f7f3cee7e0b45f8f52003c6 100644 (file)
@@ -18,6 +18,7 @@
 
 from neutron.common import constants as q_const
 from neutron.common import rpc as q_rpc
+from neutron.common import rpc_compat
 from neutron.db import agents_db
 from neutron.db import dhcp_rpc_base
 from neutron.db import l3_rpc_base
@@ -29,6 +30,7 @@ LOG = logging.getLogger(__name__)
 
 
 class HyperVRpcCallbacks(
+        rpc_compat.RpcCallback,
         dhcp_rpc_base.DhcpRpcCallbackMixin,
         l3_rpc_base.L3RpcCallbackMixin):
 
@@ -36,6 +38,7 @@ class HyperVRpcCallbacks(
     RPC_API_VERSION = '1.1'
 
     def __init__(self, notifier):
+        super(HyperVRpcCallbacks, self).__init__()
         self.notifier = notifier
         self._db = hyperv_db.HyperVPluginDB()
 
index dea26bdbd5a718b71d424e49f008eda38fbf9e27..e4f296fc4c78db8d38108338271a2a80eabe430d 100644 (file)
@@ -30,6 +30,7 @@ from neutron.agent.linux import ovs_lib
 from neutron.agent import rpc as agent_rpc
 from neutron.common import config as logging_config
 from neutron.common import constants as n_const
+from neutron.common import rpc_compat
 from neutron.common import topics
 from neutron.common import utils as n_utils
 from neutron import context
@@ -51,7 +52,7 @@ class SdnvePluginApi(agent_rpc.PluginApi):
                          topic=self.topic)
 
 
-class SdnveNeutronAgent():
+class SdnveNeutronAgent(rpc_compat.RpcCallback):
 
     RPC_API_VERSION = '1.1'
 
@@ -70,6 +71,7 @@ class SdnveNeutronAgent():
         :param controller_ip: Ip address of SDN-VE controller.
         '''
 
+        super(SdnveNeutronAgent, self).__init__()
         self.root_helper = root_helper
         self.int_bridge_name = integ_br
         self.controller_ip = controller_ip
index 5d215791a6574f638ac8ea659a2c6536c54f6944..06357a493ba193d4f49007c85c0c68fd0949d4f0 100755 (executable)
@@ -657,7 +657,8 @@ class LinuxBridgeManager:
                 self.remove_fdb_bridge_entry(mac, agent_ip, interface)
 
 
-class LinuxBridgeRpcCallbacks(sg_rpc.SecurityGroupAgentRpcCallbackMixin,
+class LinuxBridgeRpcCallbacks(rpc_compat.RpcCallback,
+                              sg_rpc.SecurityGroupAgentRpcCallbackMixin,
                               l2pop_rpc.L2populationRpcCallBackMixin):
 
     # Set RPC API version to 1.0 by default.
@@ -666,6 +667,7 @@ class LinuxBridgeRpcCallbacks(sg_rpc.SecurityGroupAgentRpcCallbackMixin,
     RPC_API_VERSION = '1.1'
 
     def __init__(self, context, agent):
+        super(LinuxBridgeRpcCallbacks, self).__init__()
         self.context = context
         self.agent = agent
         self.sg_agent = agent
index ec055355249dc8bef48a87d2c5c9c605e34b3ae5..fdf3f00bcad19478ec6ddfb9d2d5297f16a9447f 100644 (file)
@@ -55,7 +55,8 @@ from neutron.plugins.linuxbridge.db import l2network_db_v2 as db
 LOG = logging.getLogger(__name__)
 
 
-class LinuxBridgeRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin,
+class LinuxBridgeRpcCallbacks(rpc_compat.RpcCallback,
+                              dhcp_rpc_base.DhcpRpcCallbackMixin,
                               l3_rpc_base.L3RpcCallbackMixin,
                               sg_db_rpc.SecurityGroupServerRpcCallbackMixin
                               ):
index cbf6ce4ede7157c41327204d0f3836b6eccf1ac0..10f5af36160a061c5598ad3874a461ed088dc672 100644 (file)
@@ -30,6 +30,7 @@ from neutron.api.v2 import attributes
 from neutron.common import constants
 from neutron.common import exceptions as n_exc
 from neutron.common import rpc as n_rpc
+from neutron.common import rpc_compat
 from neutron.common import topics
 from neutron.db import agents_db
 from neutron.db import agentschedulers_db
@@ -177,7 +178,8 @@ def _check_resource_exists(func, id, name, raise_exc=False):
             raise MidonetPluginException(msg=exc)
 
 
-class MidoRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin):
+class MidoRpcCallbacks(rpc_compat.RpcCallback,
+                       dhcp_rpc_base.DhcpRpcCallbackMixin):
     RPC_API_VERSION = '1.1'
 
     def create_rpc_dispatcher(self):
index c4b599668f088c3e7f8d0b88f5d7f11c254ad16e..ff4e6e7bce4c9130290f01e6a68b5b9a6d86a38d 100644 (file)
@@ -51,6 +51,8 @@ class RpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin,
         # not having their own __init__ functions. If an __init__() is added
         # to one, this could break. Fix this and add a unit test to cover this
         # test in H3.
+        # FIXME(ihrachys): we can't use rpc_compat.RpcCallback here due
+        # to inheritance problems
         super(RpcCallbacks, self).__init__(notifier, type_manager)
 
     def create_rpc_dispatcher(self):
index 00ffdd6fdb8f56428200768a33bcddf8222529f7..56366724d9cf3631316573ec09027524f4f85f8b 100644 (file)
@@ -146,7 +146,8 @@ class EswitchManager(object):
         self.network_map[network_id] = data
 
 
-class MlnxEswitchRpcCallbacks(sg_rpc.SecurityGroupAgentRpcCallbackMixin):
+class MlnxEswitchRpcCallbacks(rpc_compat.RpcCallback,
+                              sg_rpc.SecurityGroupAgentRpcCallbackMixin):
 
     # Set RPC API version to 1.0 by default.
     # history
@@ -154,6 +155,7 @@ class MlnxEswitchRpcCallbacks(sg_rpc.SecurityGroupAgentRpcCallbackMixin):
     RPC_API_VERSION = '1.1'
 
     def __init__(self, context, agent):
+        super(MlnxEswitchRpcCallbacks, self).__init__()
         self.context = context
         self.agent = agent
         self.eswitch = agent.eswitch
index 6b9633635b56c1e761cd75693224c3b4d7d1b755..fff970c43a04a7c7f345873859af73774811c430 100644 (file)
@@ -18,6 +18,7 @@ from oslo.config import cfg
 
 from neutron.common import constants as q_const
 from neutron.common import rpc as q_rpc
+from neutron.common import rpc_compat
 from neutron.db import agents_db
 from neutron.db import api as db_api
 from neutron.db import dhcp_rpc_base
@@ -29,7 +30,8 @@ from neutron.plugins.mlnx.db import mlnx_db_v2 as db
 LOG = logging.getLogger(__name__)
 
 
-class MlnxRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin,
+class MlnxRpcCallbacks(rpc_compat.RpcCallback,
+                       dhcp_rpc_base.DhcpRpcCallbackMixin,
                        l3_rpc_base.L3RpcCallbackMixin,
                        sg_db_rpc.SecurityGroupServerRpcCallbackMixin):
     # History
@@ -39,9 +41,6 @@ class MlnxRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin,
     #to be compatible with Linux Bridge Agent on Network Node
     TAP_PREFIX_LEN = 3
 
-    def __init__(self):
-        pass
-
     def create_rpc_dispatcher(self):
         """Get the rpc dispatcher for this manager.
 
index c2d70fbfe0bdcad9d4ebb4974b949579acdad921..5a5faff7f969af148b8cb4e5f30dd176647ec13e 100755 (executable)
@@ -62,11 +62,12 @@ class NECPluginApi(agent_rpc.PluginApi):
                                 port_removed=port_removed))
 
 
-class NECAgentRpcCallback(object):
+class NECAgentRpcCallback(rpc_compat.RpcCallback):
 
     RPC_API_VERSION = '1.0'
 
     def __init__(self, context, agent, sg_agent):
+        super(NECAgentRpcCallback, self).__init__()
         self.context = context
         self.agent = agent
         self.sg_agent = sg_agent
@@ -92,11 +93,13 @@ class SecurityGroupServerRpcApi(rpc_compat.RpcProxy,
 
 
 class SecurityGroupAgentRpcCallback(
+    rpc_compat.RpcCallback,
     sg_rpc.SecurityGroupAgentRpcCallbackMixin):
 
     RPC_API_VERSION = sg_rpc.SG_RPC_VERSION
 
     def __init__(self, context, sg_agent):
+        super(SecurityGroupAgentRpcCallback, self).__init__()
         self.context = context
         self.sg_agent = sg_agent
 
index 67c8ed94eee63760a4a27c988e6a6e2b1ea11a59..7fd5d8214561687d63b9f6554e298af13471dfa5 100644 (file)
@@ -680,18 +680,20 @@ class NECPluginV2AgentNotifierApi(rpc_compat.RpcProxy,
                          topic=self.topic_port_update)
 
 
-class DhcpRpcCallback(dhcp_rpc_base.DhcpRpcCallbackMixin):
+class DhcpRpcCallback(rpc_compat.RpcCallback,
+                      dhcp_rpc_base.DhcpRpcCallbackMixin):
     # DhcpPluginApi BASE_RPC_API_VERSION
     RPC_API_VERSION = '1.1'
 
 
-class L3RpcCallback(l3_rpc_base.L3RpcCallbackMixin):
+class L3RpcCallback(rpc_compat.RpcCallback, l3_rpc_base.L3RpcCallbackMixin):
     # 1.0  L3PluginApi BASE_RPC_API_VERSION
     # 1.1  Support update_floatingip_statuses
     RPC_API_VERSION = '1.1'
 
 
 class SecurityGroupServerRpcCallback(
+    rpc_compat.RpcCallback,
     sg_db_rpc.SecurityGroupServerRpcCallbackMixin):
 
     RPC_API_VERSION = sg_rpc.SG_RPC_VERSION
@@ -707,11 +709,12 @@ class SecurityGroupServerRpcCallback(
         return port
 
 
-class NECPluginV2RPCCallbacks(object):
+class NECPluginV2RPCCallbacks(rpc_compat.RpcCallback):
 
     RPC_API_VERSION = '1.0'
 
     def __init__(self, plugin):
+        super(NECPluginV2RPCCallbacks, self).__init__()
         self.plugin = plugin
 
     def create_rpc_dispatcher(self):
index 1ea58a976321eff223259b7f99e78ecf4cb65685..7ff3040b067e7ea6f0caccf26388af4c49e8b4aa 100644 (file)
@@ -33,6 +33,7 @@ from neutron.agent.linux import utils
 from neutron.agent import rpc as agent_rpc
 from neutron.agent import securitygroups_rpc as sg_rpc
 from neutron.common import constants as n_const
+from neutron.common import rpc_compat
 from neutron.common import topics
 from neutron.common import utils as n_utils
 from neutron import context
@@ -159,7 +160,8 @@ class OFANeutronAgentRyuApp(app_manager.RyuApp):
         agent.daemon_loop()
 
 
-class OFANeutronAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin):
+class OFANeutronAgent(rpc_compat.RpcCallback,
+                      sg_rpc.SecurityGroupAgentRpcCallbackMixin):
     """A agent for OpenFlow Agent ML2 mechanism driver.
 
     OFANeutronAgent is a OpenFlow Agent agent for a ML2 plugin.
@@ -199,6 +201,7 @@ class OFANeutronAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin):
                minimization, the number of seconds to wait before respawning
                the ovsdb monitor.
         """
+        super(OFANeutronAgent, self).__init__()
         self.ryuapp = ryuapp
         self.veth_mtu = veth_mtu
         self.root_helper = root_helper
index f023a5787075647e4e36557df57360f1c08188f7..d291df508d8da3e10aab1e386922e335f91c6175 100644 (file)
@@ -37,11 +37,12 @@ from neutron.plugins.oneconvergence.lib import config
 LOG = logging.getLogger(__name__)
 
 
-class NVSDAgentRpcCallback(object):
+class NVSDAgentRpcCallback(rpc_compat.RpcCallback):
 
     RPC_API_VERSION = '1.0'
 
     def __init__(self, context, agent, sg_agent):
+        super(NVSDAgentRpcCallback, self).__init__()
         self.context = context
         self.agent = agent
         self.sg_agent = sg_agent
@@ -66,11 +67,13 @@ class SecurityGroupServerRpcApi(rpc_compat.RpcProxy,
 
 
 class SecurityGroupAgentRpcCallback(
+    rpc_compat.RpcCallback,
     sg_rpc.SecurityGroupAgentRpcCallbackMixin):
 
     RPC_API_VERSION = sg_rpc.SG_RPC_VERSION
 
     def __init__(self, context, sg_agent):
+        super(SecurityGroupAgentRpcCallback, self).__init__()
         self.context = context
         self.sg_agent = sg_agent
 
@@ -85,14 +88,14 @@ class SecurityGroupAgentRpc(sg_rpc.SecurityGroupAgentRpcMixin):
         self.init_firewall()
 
 
-class NVSDNeutronAgent(object):
+class NVSDNeutronAgent(rpc_compat.RpcCallback):
     # history
     #   1.0 Initial version
     #   1.1 Support Security Group RPC
     RPC_API_VERSION = '1.1'
 
     def __init__(self, integ_br, root_helper, polling_interval):
-
+        super(NVSDNeutronAgent, self).__init__()
         self.int_br = ovs_lib.OVSBridge(integ_br, root_helper)
         self.polling_interval = polling_interval
         self.root_helper = root_helper
index 5a86ff461927eb8bad4fd9be137748ff1016c3e3..7f28ec5cea5237018144b245a703a959e0c4c3e4 100644 (file)
@@ -53,7 +53,8 @@ LOG = logging.getLogger(__name__)
 IPv6 = 6
 
 
-class NVSDPluginRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin,
+class NVSDPluginRpcCallbacks(rpc_compat.RpcCallback,
+                             dhcp_rpc_base.DhcpRpcCallbackMixin,
                              l3_rpc_base.L3RpcCallbackMixin,
                              sg_db_rpc.SecurityGroupServerRpcCallbackMixin):
 
index 6c5fb56bbc8866be7807493c6cc814efb84ec84e..d7a0058bfcf8974dd9fa692972f8ec4693168f05 100644 (file)
@@ -35,6 +35,7 @@ from neutron.agent import rpc as agent_rpc
 from neutron.agent import securitygroups_rpc as sg_rpc
 from neutron.common import config as logging_config
 from neutron.common import constants as q_const
+from neutron.common import rpc_compat
 from neutron.common import topics
 from neutron.common import utils as q_utils
 from neutron import context
@@ -86,7 +87,8 @@ class OVSSecurityGroupAgent(sg_rpc.SecurityGroupAgentRpcMixin):
         self.init_firewall(defer_refresh_firewall=True)
 
 
-class OVSNeutronAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin,
+class OVSNeutronAgent(rpc_compat.RpcCallback,
+                      sg_rpc.SecurityGroupAgentRpcCallbackMixin,
                       l2population_rpc.L2populationRpcCallBackMixin):
     '''Implements OVS-based tunneling, VLANs and flat networks.
 
@@ -147,6 +149,7 @@ class OVSNeutronAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin,
         :param arp_responder: Optional, enable local ARP responder if it is
                supported.
         '''
+        super(OVSNeutronAgent, self).__init__()
         self.veth_mtu = veth_mtu
         self.root_helper = root_helper
         self.available_local_vlans = set(moves.xrange(q_const.MIN_VLAN_TAG,
index ee1e9dbfe9109a672d2672a5468a93774653c6b2..f5f199db8996ddb770420d7aa62a3d43e0aadb67 100644 (file)
@@ -59,7 +59,8 @@ from neutron.plugins.openvswitch import ovs_db_v2
 LOG = logging.getLogger(__name__)
 
 
-class OVSRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin,
+class OVSRpcCallbacks(rpc_compat.RpcCallback,
+                      dhcp_rpc_base.DhcpRpcCallbackMixin,
                       l3_rpc_base.L3RpcCallbackMixin,
                       sg_db_rpc.SecurityGroupServerRpcCallbackMixin):
 
@@ -70,6 +71,7 @@ class OVSRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin,
     RPC_API_VERSION = '1.1'
 
     def __init__(self, notifier, tunnel_type):
+        super(OVSRpcCallbacks, self).__init__()
         self.notifier = notifier
         self.tunnel_type = tunnel_type
 
index 01a4fba5ea97119666311248edf151a75ec3a140..092dc8702e526d4adbbb3b994ffdf51a6065f330 100755 (executable)
@@ -37,6 +37,7 @@ from neutron.agent import rpc as agent_rpc
 from neutron.agent import securitygroups_rpc as sg_rpc
 from neutron.common import config as logging_config
 from neutron.common import exceptions as n_exc
+from neutron.common import rpc_compat
 from neutron.common import topics
 from neutron import context as q_context
 from neutron.extensions import securitygroup as ext_sg
@@ -180,7 +181,8 @@ class RyuSecurityGroupAgent(sg_rpc.SecurityGroupAgentRpcMixin):
         self.init_firewall()
 
 
-class OVSNeutronOFPRyuAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin):
+class OVSNeutronOFPRyuAgent(rpc_compat.RpcCallback,
+                            sg_rpc.SecurityGroupAgentRpcCallbackMixin):
 
     RPC_API_VERSION = '1.1'
 
index ef29fb7b4e82a830e938de21a7ae739701e68ee2..e0b6e3792c2362adedb00b2d271f8309a94ac327 100644 (file)
@@ -48,13 +48,15 @@ from neutron.plugins.ryu.db import api_v2 as db_api_v2
 LOG = logging.getLogger(__name__)
 
 
-class RyuRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin,
+class RyuRpcCallbacks(rpc_compat.RpcCallback,
+                      dhcp_rpc_base.DhcpRpcCallbackMixin,
                       l3_rpc_base.L3RpcCallbackMixin,
                       sg_db_rpc.SecurityGroupServerRpcCallbackMixin):
 
     RPC_API_VERSION = '1.1'
 
     def __init__(self, ofp_rest_api_addr):
+        super(RyuRpcCallbacks, self).__init__()
         self.ofp_rest_api_addr = ofp_rest_api_addr
 
     def create_rpc_dispatcher(self):
index b3b960c7de8b22e7ca0133ca81d79765e7c8ac88..057e94d97018008a80b4af895b53774c6061f25b 100644 (file)
@@ -25,6 +25,7 @@ from neutron.api.v2 import attributes
 from neutron.common import constants as const
 from neutron.common import exceptions as ntn_exc
 from neutron.common import rpc as n_rpc
+from neutron.common import rpc_compat
 from neutron.db import agents_db
 from neutron.db import db_base_plugin_v2
 from neutron.db import dhcp_rpc_base
@@ -43,7 +44,8 @@ METADATA_GATEWAY_IP = '169.254.169.253'
 METADATA_DHCP_ROUTE = '169.254.169.254/32'
 
 
-class NSXRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin):
+class NSXRpcCallbacks(rpc_compat.RpcCallback,
+                      dhcp_rpc_base.DhcpRpcCallbackMixin):
 
     RPC_API_VERSION = '1.1'
 
index b3c7d67f709e9d9c63e7f8d4b8fbd402516e5406..5ba4b9399230fe737e3b3d16ec8d76ef517830bf 100644 (file)
@@ -35,10 +35,11 @@ from neutron.plugins.common import constants as const
 LOG = logging.getLogger(__name__)
 
 
-class FirewallCallbacks(object):
+class FirewallCallbacks(rpc_compat.RpcCallback):
     RPC_API_VERSION = '1.0'
 
     def __init__(self, plugin):
+        super(FirewallCallbacks, self).__init__()
         self.plugin = plugin
 
     def create_rpc_dispatcher(self):
index 33e1c4b5212835d66dd57062edf32357f1608343..5f3cc2031ec99a5946d80b0e2b50b399c053355b 100644 (file)
@@ -22,6 +22,7 @@ from oslo.config import cfg
 from neutron.api.rpc.agentnotifiers import l3_rpc_agent_api
 from neutron.common import constants as q_const
 from neutron.common import rpc as q_rpc
+from neutron.common import rpc_compat
 from neutron.common import topics
 from neutron.db import api as qdbapi
 from neutron.db import db_base_plugin_v2
@@ -35,7 +36,8 @@ from neutron.openstack.common import rpc
 from neutron.plugins.common import constants
 
 
-class L3RouterPluginRpcCallbacks(l3_rpc_base.L3RpcCallbackMixin):
+class L3RouterPluginRpcCallbacks(rpc_compat.RpcCallback,
+                                 l3_rpc_base.L3RpcCallbackMixin):
 
     RPC_API_VERSION = '1.1'
 
index 0e315554a64da435a59ed02c10efac0a28a1a5f8..1bbb53cb00d66afe3b61af9a1bc9e021baa5c03e 100644 (file)
@@ -21,6 +21,7 @@ from oslo.config import cfg
 from neutron.agent import rpc as agent_rpc
 from neutron.common import constants as n_const
 from neutron.common import exceptions as n_exc
+from neutron.common import rpc_compat
 from neutron.common import topics
 from neutron import context
 from neutron.openstack.common import importutils
@@ -46,7 +47,7 @@ class DeviceNotFoundOnAgent(n_exc.NotFound):
     msg = _('Unknown device with pool_id %(pool_id)s')
 
 
-class LbaasAgentManager(periodic_task.PeriodicTasks):
+class LbaasAgentManager(rpc_compat.RpcCallback, periodic_task.PeriodicTasks):
 
     RPC_API_VERSION = '2.0'
     # history
index 908a29d2b9da9c09b7ca0bac3b1b8b6494bca3b2..916ce886a625f1ca7980859704a2490950fb630a 100644 (file)
@@ -53,7 +53,7 @@ class DriverNotSpecified(n_exc.NeutronException):
                 "in plugin driver.")
 
 
-class LoadBalancerCallbacks(object):
+class LoadBalancerCallbacks(rpc_compat.RpcCallback):
 
     RPC_API_VERSION = '2.0'
     # history
@@ -63,6 +63,7 @@ class LoadBalancerCallbacks(object):
     #       - pool_deployed() and update_status() methods added;
 
     def __init__(self, plugin):
+        super(LoadBalancerCallbacks, self).__init__()
         self.plugin = plugin
 
     def create_rpc_dispatcher(self):
index 93479eeeec904912741959cf623ea1b13b3a44bf..9a6288072b20720d0b0989b4a136c93ab4065dbd 100644 (file)
@@ -189,6 +189,8 @@ class CiscoCsrIPsecDriver(device_drivers.DeviceDriver):
     RPC_API_VERSION = '1.0'
 
     def __init__(self, agent, host):
+        # TODO(ihrachys): we can't use RpcCallback here due to
+        # inheritance issues
         self.host = host
         self.conn = rpc.create_connection(new=True)
         context = ctx.get_admin_context_without_session()
index 83ad5bf5393d42ec0b3b7d3b5c10c541414fbdcb..893ddc88fe9a1e6c52592c1f768c5a2fc9539ab0 100644 (file)
@@ -489,6 +489,8 @@ class IPsecDriver(device_drivers.DeviceDriver):
     RPC_API_VERSION = '1.0'
 
     def __init__(self, agent, host):
+        # TODO(ihrachys): we can't use RpcCallback here due to
+        # inheritance issues
         self.agent = agent
         self.conf = self.agent.conf
         self.root_helper = self.agent.root_helper
index 76ca9a9685dae68ccccc2b232e60bb9d10cc22d8..1d33da50e9a87b18b14cfeb40d20c39dcfd68499 100644 (file)
@@ -17,6 +17,7 @@ from netaddr import core as net_exc
 
 from neutron.common import exceptions
 from neutron.common import rpc as n_rpc
+from neutron.common import rpc_compat
 from neutron.openstack.common import excutils
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import rpc
@@ -41,7 +42,7 @@ class CsrValidationFailure(exceptions.BadRequest):
                 "with value '%(value)s'")
 
 
-class CiscoCsrIPsecVpnDriverCallBack(object):
+class CiscoCsrIPsecVpnDriverCallBack(rpc_compat.RpcCallback):
 
     """Handler for agent to plugin RPC messaging."""
 
@@ -51,6 +52,7 @@ class CiscoCsrIPsecVpnDriverCallBack(object):
     RPC_API_VERSION = BASE_IPSEC_VERSION
 
     def __init__(self, driver):
+        super(CiscoCsrIPsecVpnDriverCallBack, self).__init__()
         self.driver = driver
 
     def create_rpc_dispatcher(self):
@@ -70,7 +72,8 @@ class CiscoCsrIPsecVpnDriverCallBack(object):
         plugin.update_status_by_agent(context, status)
 
 
-class CiscoCsrIPsecVpnAgentApi(service_drivers.BaseIPsecVpnAgentApi):
+class CiscoCsrIPsecVpnAgentApi(service_drivers.BaseIPsecVpnAgentApi,
+                               rpc_compat.RpcCallback):
 
     """API and handler for Cisco IPSec plugin to agent RPC messaging."""
 
index 552bda46f3454f30ef12eaefb643242d4eb2d488..9e529fd097e68f025fe9cb4cdb9b66754f8a16c4 100644 (file)
@@ -17,6 +17,7 @@
 import netaddr
 
 from neutron.common import rpc as n_rpc
+from neutron.common import rpc_compat
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import rpc
 from neutron.services.vpn.common import topics
@@ -29,7 +30,7 @@ IPSEC = 'ipsec'
 BASE_IPSEC_VERSION = '1.0'
 
 
-class IPsecVpnDriverCallBack(object):
+class IPsecVpnDriverCallBack(rpc_compat.RpcCallback):
     """Callback for IPSecVpnDriver rpc."""
 
     # history
@@ -38,6 +39,7 @@ class IPsecVpnDriverCallBack(object):
     RPC_API_VERSION = BASE_IPSEC_VERSION
 
     def __init__(self, driver):
+        super(IPsecVpnDriverCallBack, self).__init__()
         self.driver = driver
 
     def create_rpc_dispatcher(self):
@@ -57,7 +59,8 @@ class IPsecVpnDriverCallBack(object):
         plugin.update_status_by_agent(context, status)
 
 
-class IPsecVpnAgentApi(service_drivers.BaseIPsecVpnAgentApi):
+class IPsecVpnAgentApi(service_drivers.BaseIPsecVpnAgentApi,
+                       rpc_compat.RpcCallback):
     """Agent RPC API for IPsecVPNAgent."""
 
     RPC_API_VERSION = BASE_IPSEC_VERSION