VMWare: don't notify on disassociate_floatingips()

L3 agent notifications don't make sense for NSX VMWare plugin since
there is no L3 agent in such setup, so disabling them here.

Updated a unit test to check that notification is indeed not requested.

Change-Id: I9c7c32d02d466098d22df8f10448361c3d99174c
Related-Bug: 1330955
This commit is contained in:
Ihar Hrachyshka 2014-06-19 13:58:48 +02:00
parent fb6e0653ac
commit eafebec2d3
2 changed files with 27 additions and 18 deletions

View File

@ -2039,7 +2039,11 @@ class NsxPluginV2(addr_pair_db.AllowedAddressPairsMixin,
except n_exc.NotFound: except n_exc.NotFound:
LOG.warning(_("Nat rules not found in nsx for port: %s"), id) LOG.warning(_("Nat rules not found in nsx for port: %s"), id)
super(NsxPluginV2, self).disassociate_floatingips(context, port_id) # NOTE(ihrachys): L3 agent notifications don't make sense for
# NSX VMWare plugin since there is no L3 agent in such setup, so
# disabling them here.
super(NsxPluginV2, self).disassociate_floatingips(
context, port_id, do_notify=False)
def create_network_gateway(self, context, network_gateway): def create_network_gateway(self, context, network_gateway):
"""Create a layer-2 network gateway. """Create a layer-2 network gateway.

View File

@ -958,6 +958,8 @@ class TestL3NatTestCase(L3NatTest,
with self.port() as p: with self.port() as p:
private_sub = {'subnet': {'id': private_sub = {'subnet': {'id':
p['port']['fixed_ips'][0]['subnet_id']}} p['port']['fixed_ips'][0]['subnet_id']}}
plugin = manager.NeutronManager.get_plugin()
with mock.patch.object(plugin, 'notify_routers_updated') as notify:
with self.floatingip_no_assoc(private_sub) as fip: with self.floatingip_no_assoc(private_sub) as fip:
port_id = p['port']['id'] port_id = p['port']['id']
body = self._update('floatingips', fip['floatingip']['id'], body = self._update('floatingips', fip['floatingip']['id'],
@ -976,6 +978,9 @@ class TestL3NatTestCase(L3NatTest,
self.assertEqual(constants.FLOATINGIP_STATUS_DOWN, self.assertEqual(constants.FLOATINGIP_STATUS_DOWN,
body['floatingip']['status']) body['floatingip']['status'])
# check that notification was not requested
self.assertFalse(notify.called)
def test_create_router_maintenance_returns_503(self): def test_create_router_maintenance_returns_503(self):
with self._create_l3_ext_network() as net: with self._create_l3_ext_network() as net:
with self.subnet(network=net) as s: with self.subnet(network=net) as s: