From: Isaku Yamahata Date: Wed, 12 Dec 2012 03:02:53 +0000 (+0900) Subject: pluins/ryu: Fixes context exception in Ryu plugin X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=a8c0c00069305092570e93ab85ccc2340d0be828;p=openstack-build%2Fneutron-build.git pluins/ryu: Fixes context exception in Ryu plugin Bug 1089220 This is the Ryu counter part of https://review.openstack.org/#/c/15726 Change-ID of I913b48dcd84d275cd7de30ca990be00c243e63ea, changeset of 05383d1340aecd7192609a9197c249886d844a46 Ryu plugin also needs to be taught the update. Change-Id: I52fbf36df6e0769a032a7602637cabd93796fe1c --- diff --git a/quantum/plugins/ryu/ryu_quantum_plugin.py b/quantum/plugins/ryu/ryu_quantum_plugin.py index 820b562e6..9b06b819d 100644 --- a/quantum/plugins/ryu/ryu_quantum_plugin.py +++ b/quantum/plugins/ryu/ryu_quantum_plugin.py @@ -21,16 +21,16 @@ from ryu.app import rest_nw_id from quantum.common import constants as q_const from quantum.common import exceptions as q_exc +from quantum.common import rpc as q_rpc from quantum.common import topics from quantum.db import api as db from quantum.db import db_base_plugin_v2 -from quantum.db.dhcp_rpc_base import DhcpRpcCallbackMixin +from quantum.db import dhcp_rpc_base from quantum.db import l3_db from quantum.db import models_v2 from quantum.openstack.common import cfg from quantum.openstack.common import log as logging from quantum.openstack.common import rpc -from quantum.openstack.common.rpc import dispatcher from quantum.plugins.ryu.common import config from quantum.plugins.ryu.db import api_v2 as db_api_v2 from quantum.plugins.ryu import ofp_service_type @@ -39,6 +39,14 @@ from quantum.plugins.ryu import ofp_service_type LOG = logging.getLogger(__name__) +class RyuRpcCallbacks(dhcp_rpc_base.DhcpRpcCallbackMixin): + + RPC_API_VERSION = '1.0' + + def create_rpc_dispatcher(self): + return q_rpc.PluginRpcDispatcher([self]) + + class RyuQuantumPluginV2(db_base_plugin_v2.QuantumDbPluginV2, l3_db.L3_NAT_db_mixin): @@ -76,8 +84,8 @@ class RyuQuantumPluginV2(db_base_plugin_v2.QuantumDbPluginV2, def _setup_rpc(self): self.conn = rpc.create_connection(new=True) - self.callback = DhcpRpcCallbackMixin() - self.dispatcher = dispatcher.RpcDispatcher([self.callback]) + self.callbacks = RyuRpcCallbacks() + self.dispatcher = self.callbacks.create_rpc_dispatcher() self.conn.create_consumer(topics.PLUGIN, self.dispatcher, fanout=False) self.conn.consume_in_thread()