Merge "Notify port_update to agent for status change"
This commit is contained in:
commit
c0fe9e34a1
neutron
@ -1409,6 +1409,8 @@ class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2,
|
||||
|
||||
if original_port['admin_state_up'] != updated_port['admin_state_up']:
|
||||
need_port_update_notify = True
|
||||
if original_port['status'] != updated_port['status']:
|
||||
need_port_update_notify = True
|
||||
# NOTE: In the case of DVR ports, the port-binding is done after
|
||||
# router scheduling when sync_routers is called and so this call
|
||||
# below may not be required for DVR routed interfaces. But still
|
||||
|
@ -806,6 +806,16 @@ class TestMl2PortsV2(test_plugin.TestPortsV2, Ml2PluginV2TestCase):
|
||||
self.assertEqual('DOWN', port['port']['status'])
|
||||
self.assertEqual('DOWN', self.port_create_status)
|
||||
|
||||
def test_notify_port_updated_for_status_change(self):
|
||||
ctx = context.get_admin_context()
|
||||
plugin = directory.get_plugin()
|
||||
with self.port() as port:
|
||||
with mock.patch.object(self.plugin,
|
||||
'_notify_port_updated') as notify_mock:
|
||||
port['port']['status'] = constants.PORT_STATUS_ACTIVE
|
||||
plugin.update_port(ctx, port['port']['id'], port)
|
||||
self.assertTrue(notify_mock.called)
|
||||
|
||||
def test_update_port_status_short_id(self):
|
||||
ctx = context.get_admin_context()
|
||||
plugin = directory.get_plugin()
|
||||
|
Loading…
x
Reference in New Issue
Block a user