Merge "Drop RpcProxy usage from cisco.l3"

This commit is contained in:
Jenkins 2014-11-26 00:33:36 +00:00 committed by Gerrit Code Review
commit 56e0c3117c
1 changed files with 18 additions and 24 deletions

View File

@ -13,6 +13,8 @@
# under the License.
#
from oslo import messaging
from neutron.common import rpc as n_rpc
from neutron.openstack.common import log as logging
from neutron.plugins.cisco.common import cisco_constants as c_constants
@ -20,24 +22,14 @@ from neutron.plugins.cisco.common import cisco_constants as c_constants
LOG = logging.getLogger(__name__)
class L3RouterJointAgentNotifyAPI(n_rpc.RpcProxy):
class L3RouterJointAgentNotifyAPI(object):
"""API for plugin to notify Cisco cfg agent."""
BASE_RPC_API_VERSION = '1.0'
def __init__(self, l3plugin, topic=c_constants.CFG_AGENT_L3_ROUTING):
super(L3RouterJointAgentNotifyAPI, self).__init__(
topic=topic, default_version=self.BASE_RPC_API_VERSION)
def __init__(self, l3plugin):
self._l3plugin = l3plugin
def _host_notification(self, context, method, payload, host,
topic=None):
"""Notify the cfg agent that is handling the hosting device."""
LOG.debug('Notify Cisco cfg agent at %(host)s the message '
'%(method)s', {'host': host, 'method': method})
self.cast(context,
self.make_msg(method, payload=payload),
topic='%s.%s' % (self.topic if topic is None else topic,
host))
self.topic = c_constants.CFG_AGENT_L3_ROUTING
target = messaging.Target(topic=self.topic, version='1.0')
self.client = n_rpc.get_client(target)
def _agent_notification(self, context, method, routers, operation, data):
"""Notify individual Cisco cfg agents."""
@ -55,10 +47,8 @@ class L3RouterJointAgentNotifyAPI(n_rpc.RpcProxy):
'topic': c_constants.CFG_AGENT_L3_ROUTING,
'host': agent.host,
'method': method})
self.cast(context,
self.make_msg(method, routers=[router['id']]),
topic='%s.%s' % (c_constants.CFG_AGENT_L3_ROUTING,
agent.host))
cctxt = self.client.prepare(server=agent.host)
cctxt.cast(context, method, routers=[router['id']])
def router_deleted(self, context, router):
"""Notifies agents about a deleted router."""
@ -94,8 +84,12 @@ class L3RouterJointAgentNotifyAPI(n_rpc.RpcProxy):
The <deconfigure> argument is True if any configurations for the
logical resources should be removed from the hosting devices
"""
if hosting_data:
self._host_notification(context, 'hosting_devices_removed',
{'hosting_data': hosting_data,
'deconfigure': deconfigure}, host,
topic=c_constants.CFG_AGENT)
if not hosting_data:
return
LOG.debug('Notify Cisco cfg agent at %(host)s the message '
'hosting_devices_removed', {'host': host})
payload = {'hosting_data': hosting_data, 'deconfigure': deconfigure}
cctxt = self.client.prepare(topic=c_constants.CFG_AGENT, server=host)
cctxt.cast(context, 'hosting_devices_removed', payload=payload)