Remove shim in trunk/rpc/backend.py
All events use callback payloads, so can be removed Change-Id: I36ede6028e8033228811dd9b7c27bd1a0f815f37
This commit is contained in:
parent
dea5a9d3e3
commit
21986f2be5
|
@ -33,41 +33,36 @@ class ServerSideRpcBackend(object):
|
|||
|
||||
LOG.debug("RPC backend initialized for trunk plugin")
|
||||
|
||||
@registry.receives(resources.TRUNK,
|
||||
[events.AFTER_DELETE, events.AFTER_CREATE])
|
||||
def process_trunk_payload_event(self, resource, event,
|
||||
trunk_plugin, payload=None):
|
||||
"""Emit RPC notifications to registered subscribers."""
|
||||
# TODO(boden): refactor back into process_event once all events use
|
||||
# callback payloads
|
||||
context = payload.context
|
||||
LOG.debug("RPC notification needed for trunk %s", payload.resource_id)
|
||||
|
||||
# On AFTER_DELETE event, current_trunk is None
|
||||
payload = payload.latest_state
|
||||
method = {
|
||||
events.AFTER_CREATE: self._stub.trunk_created,
|
||||
events.AFTER_DELETE: self._stub.trunk_deleted,
|
||||
}
|
||||
LOG.debug("Emitting event %s for resource %s", event, resource)
|
||||
method[event](context, payload)
|
||||
for event_type in (events.AFTER_CREATE, events.AFTER_DELETE):
|
||||
registry.subscribe(self.process_event,
|
||||
resources.TRUNK, event_type)
|
||||
registry.subscribe(self.process_event,
|
||||
resources.SUBPORTS, event_type)
|
||||
|
||||
# Set up listeners to trunk events: they dispatch RPC messages
|
||||
# to agents as needed. These are designed to work with any
|
||||
# agent-based driver that may integrate with the trunk service
|
||||
# plugin, e.g. linux bridge or ovs.
|
||||
@registry.receives(resources.SUBPORTS,
|
||||
[events.AFTER_CREATE, events.AFTER_DELETE])
|
||||
def process_event(self, resource, event, trunk_plugin, payload=None):
|
||||
|
||||
def process_event(self, resource, event, trunk_plugin, payload):
|
||||
"""Emit RPC notifications to registered subscribers."""
|
||||
context = payload.context
|
||||
LOG.debug("RPC notification needed for trunk %s", payload.resource_id)
|
||||
|
||||
payload = payload.metadata['subports']
|
||||
method = {
|
||||
events.AFTER_CREATE: self._stub.subports_added,
|
||||
events.AFTER_DELETE: self._stub.subports_deleted,
|
||||
}
|
||||
if resource == resources.TRUNK:
|
||||
payload = payload.latest_state
|
||||
method = {
|
||||
events.AFTER_CREATE: self._stub.trunk_created,
|
||||
events.AFTER_DELETE: self._stub.trunk_deleted,
|
||||
}
|
||||
elif resource == resources.SUBPORTS:
|
||||
payload = payload.metadata['subports']
|
||||
method = {
|
||||
events.AFTER_CREATE: self._stub.subports_added,
|
||||
events.AFTER_DELETE: self._stub.subports_deleted,
|
||||
}
|
||||
else:
|
||||
LOG.error('Wrong resource %s', resource)
|
||||
|
||||
LOG.debug("Emitting event %s for resource %s", event, resource)
|
||||
method[event](context, payload)
|
||||
|
|
|
@ -38,12 +38,12 @@ class ServerSideRpcBackendTest(base.BaseTestCase):
|
|||
|
||||
calls = [mock.call(
|
||||
*tools.get_subscribe_args(
|
||||
test_obj.process_trunk_payload_event,
|
||||
test_obj.process_event,
|
||||
resources.TRUNK,
|
||||
events.AFTER_CREATE)),
|
||||
mock.call(
|
||||
*tools.get_subscribe_args(
|
||||
test_obj.process_trunk_payload_event,
|
||||
test_obj.process_event,
|
||||
resources.TRUNK,
|
||||
events.AFTER_DELETE)),
|
||||
mock.call(
|
||||
|
@ -64,13 +64,13 @@ class ServerSideRpcBackendTest(base.BaseTestCase):
|
|||
test_obj._stub = mock_stub = mock.Mock()
|
||||
trunk_plugin = mock.Mock()
|
||||
|
||||
test_obj.process_trunk_payload_event(
|
||||
test_obj.process_event(
|
||||
resources.TRUNK, events.AFTER_CREATE, trunk_plugin,
|
||||
events.DBEventPayload("context",
|
||||
resource_id="id",
|
||||
states=("current_trunk",)))
|
||||
|
||||
test_obj.process_trunk_payload_event(
|
||||
test_obj.process_event(
|
||||
resources.TRUNK, events.AFTER_DELETE, trunk_plugin,
|
||||
events.DBEventPayload("context",
|
||||
resource_id="id",
|
||||
|
|
Loading…
Reference in New Issue