diff --git a/neutron/plugins/ml2/drivers/openvswitch/mech_driver/mech_openvswitch.py b/neutron/plugins/ml2/drivers/openvswitch/mech_driver/mech_openvswitch.py index 9796ff7d480..bbce357841c 100644 --- a/neutron/plugins/ml2/drivers/openvswitch/mech_driver/mech_openvswitch.py +++ b/neutron/plugins/ml2/drivers/openvswitch/mech_driver/mech_openvswitch.py @@ -121,9 +121,9 @@ class OpenvswitchMechanismDriver(mech_agent.SimpleAgentMechanismDriverBase): def set_bridge_name_inner(bridge_name): vif_details[portbindings.VIF_DETAILS_BRIDGE_NAME] = bridge_name - registry.notify( - a_const.OVS_BRIDGE_NAME, events.BEFORE_READ, - set_bridge_name_inner, port=port) + registry.publish(a_const.OVS_BRIDGE_NAME, events.BEFORE_READ, + set_bridge_name_inner, payload=events.EventPayload( + None, metadata={'port': port})) def _pre_get_vif_details(self, agent, context): a_config = agent['configurations'] diff --git a/neutron/services/trunk/drivers/openvswitch/driver.py b/neutron/services/trunk/drivers/openvswitch/driver.py index 4985e32e890..ab45612263e 100644 --- a/neutron/services/trunk/drivers/openvswitch/driver.py +++ b/neutron/services/trunk/drivers/openvswitch/driver.py @@ -68,8 +68,9 @@ def register(): LOG.debug('Open vSwitch trunk driver registered') -def vif_details_bridge_name_handler(resource, event, set_br_name, **kwargs): +def vif_details_bridge_name_handler(resource, event, set_br_name, + payload=None): """If port is a trunk port, generate a bridge_name for its vif_details.""" - port = kwargs['port'] + port = payload.metadata['port'] if 'trunk_details' in port: set_br_name(utils.gen_trunk_br_name(port['trunk_details']['trunk_id'])) diff --git a/neutron/tests/unit/plugins/ml2/drivers/openvswitch/mech_driver/test_mech_openvswitch.py b/neutron/tests/unit/plugins/ml2/drivers/openvswitch/mech_driver/test_mech_openvswitch.py index ddf67cb4e68..941fbdd335f 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/openvswitch/mech_driver/test_mech_openvswitch.py +++ b/neutron/tests/unit/plugins/ml2/drivers/openvswitch/mech_driver/test_mech_openvswitch.py @@ -67,7 +67,7 @@ class OpenvswitchMechanismBaseTestCase(base.AgentMechanismBaseTestCase): def test__set_bridge_name_notify(self): - def fake_callback(resource, event, trigger, **kwargs): + def fake_callback(resource, event, trigger, payload=None): trigger('fake-br-name') registry.subscribe(fake_callback, a_const.OVS_BRIDGE_NAME, diff --git a/neutron/tests/unit/services/trunk/drivers/openvswitch/test_driver.py b/neutron/tests/unit/services/trunk/drivers/openvswitch/test_driver.py index d0af3f09978..e5950e1da38 100644 --- a/neutron/tests/unit/services/trunk/drivers/openvswitch/test_driver.py +++ b/neutron/tests/unit/services/trunk/drivers/openvswitch/test_driver.py @@ -60,7 +60,14 @@ class OVSDriverTestCase(base.BaseTestCase): driver.register() mock_gen_br_name.return_value = 'fake-trunk-br-name' test_trigger = mock.Mock() - registry.notify(agent_consts.OVS_BRIDGE_NAME, events.BEFORE_READ, - test_trigger, **{'port': {'trunk_details': - {'trunk_id': 'foo'}}}) + registry.publish(agent_consts.OVS_BRIDGE_NAME, events.BEFORE_READ, + test_trigger, + payload=events.EventPayload( + None, metadata={ + 'port': { + 'trunk_details': { + 'trunk_id': 'foo' + } + } + })) test_trigger.assert_called_once_with('fake-trunk-br-name')