Skip to content

Commit

Permalink
Add DHCP RPC API support to Ryu plugin
Browse files Browse the repository at this point in the history
It is necessary to add DHCP RPC API support to Ryu plugin to use
DHCP with Ryu plugin.

Fixes bug 1040398

Change-Id: I00caf6f36025a21d10b8a96c5f7272d12393c277
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
  • Loading branch information
ykaneko committed Aug 23, 2012
1 parent d2b58ba commit ac789d8
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion quantum/plugins/ryu/ryu_quantum_plugin.py
Expand Up @@ -22,13 +22,17 @@
from ryu.app import rest_nw_id

from quantum.common import exceptions as q_exc
from quantum.common import topics
from quantum.db import api as db
from quantum.db import db_base_plugin_v2
from quantum.db import models_v2
from quantum.db.dhcp_rpc_base import DhcpRpcCallbackMixin
from quantum.openstack.common import cfg
from quantum.plugins.ryu.db import api_v2 as db_api_v2
from quantum.openstack.common import rpc
from quantum.openstack.common.rpc import dispatcher
from quantum.plugins.ryu import ofp_service_type
from quantum.plugins.ryu.common import config
from quantum.plugins.ryu.db import api_v2 as db_api_v2

LOG = logging.getLogger(__name__)

Expand All @@ -53,10 +57,18 @@ def __init__(self, configfile=None):

self.client = client.OFPClient(ofp_api_host)
self.client.update_network(rest_nw_id.NW_ID_EXTERNAL)
self._setup_rpc()

# register known all network list on startup
self._create_all_tenant_network()

def _setup_rpc(self):
self.conn = rpc.create_connection(new=True)
self.callback = DhcpRpcCallbackMixin()
self.dispatcher = dispatcher.RpcDispatcher([self.callback])
self.conn.create_consumer(topics.PLUGIN, self.dispatcher, fanout=False)
self.conn.consume_in_thread()

def _create_all_tenant_network(self):
networks = db_api_v2.network_all_tenant_list()
for net in networks:
Expand Down

0 comments on commit ac789d8

Please sign in to comment.