Merge "Rename confusing dvr_deletens_if_no_port"
This commit is contained in:
commit
9434fdec0b
|
@ -162,8 +162,12 @@ class L3_DVRsch_db_mixin(l3agent_sch_db.L3AgentSchedulerDbMixin):
|
|||
'for router %s', router_id)
|
||||
return subnet_ids
|
||||
|
||||
def dvr_deletens_if_no_port(self, context, port_id, port_host=None):
|
||||
"""Delete the DVR namespace if no dvr serviced port exists."""
|
||||
def get_dvr_routers_to_remove(self, context, port_id, port_host=None):
|
||||
"""Returns info about which routers should be removed from <port_host>
|
||||
|
||||
In case dvr serviceable port is about to be deleted we need to check
|
||||
if any dvr routers should be removed from l3 agent on port's host
|
||||
"""
|
||||
admin_context = context.elevated()
|
||||
router_ids = self.get_dvr_routers_by_portid(admin_context, port_id)
|
||||
if not port_host:
|
||||
|
@ -174,7 +178,7 @@ class L3_DVRsch_db_mixin(l3agent_sch_db.L3AgentSchedulerDbMixin):
|
|||
return []
|
||||
|
||||
if not router_ids:
|
||||
LOG.debug('No namespaces available for this DVR port %(port)s '
|
||||
LOG.debug('No DVR routers for this DVR port %(port)s '
|
||||
'on host %(host)s', {'port': port_id,
|
||||
'host': port_host})
|
||||
return []
|
||||
|
@ -212,8 +216,8 @@ class L3_DVRsch_db_mixin(l3agent_sch_db.L3AgentSchedulerDbMixin):
|
|||
info = {'router_id': router_id, 'host': port_host,
|
||||
'agent_id': str(agent.id)}
|
||||
removed_router_info.append(info)
|
||||
LOG.debug('Router namespace %(router_id)s on host %(host)s '
|
||||
'to be deleted', info)
|
||||
LOG.debug('Router %(router_id)s on host %(host)s to be deleted',
|
||||
info)
|
||||
return removed_router_info
|
||||
|
||||
def bind_snat_router(self, context, router_id, chosen_agent):
|
||||
|
@ -592,7 +596,7 @@ def _notify_l3_agent_port_update(resource, event, trigger, **kwargs):
|
|||
original_port[portbindings.HOST_ID] !=
|
||||
new_port[portbindings.HOST_ID])
|
||||
if is_port_no_longer_serviced or is_port_moved:
|
||||
removed_routers = l3plugin.dvr_deletens_if_no_port(
|
||||
removed_routers = l3plugin.get_dvr_routers_to_remove(
|
||||
context,
|
||||
original_port['id'],
|
||||
port_host=original_port[portbindings.HOST_ID])
|
||||
|
|
|
@ -1386,7 +1386,7 @@ class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2,
|
|||
mech_context = driver_context.PortContext(
|
||||
self, context, port, network, binding, levels)
|
||||
if is_dvr_enabled and utils.is_dvr_serviced(device_owner):
|
||||
removed_routers = l3plugin.dvr_deletens_if_no_port(
|
||||
removed_routers = l3plugin.get_dvr_routers_to_remove(
|
||||
context, id)
|
||||
self.mechanism_manager.delete_port_precommit(mech_context)
|
||||
bound_mech_contexts.append(mech_context)
|
||||
|
|
|
@ -909,15 +909,15 @@ class TestMl2DvrPortsV2(TestMl2PortsV2):
|
|||
return_value=fip_set),\
|
||||
mock.patch.object(
|
||||
self.l3plugin,
|
||||
'dvr_deletens_if_no_port',
|
||||
return_value=[ns_to_delete]) as dvr_delns_ifno_port:
|
||||
'get_dvr_routers_to_remove',
|
||||
return_value=[ns_to_delete]) as get_dvr_routers_to_remove:
|
||||
|
||||
port_id = port['port']['id']
|
||||
self.plugin.delete_port(self.context, port_id)
|
||||
|
||||
self.assertTrue(notify.call_count)
|
||||
dvr_delns_ifno_port.assert_called_once_with(self.context,
|
||||
port['port']['id'])
|
||||
get_dvr_routers_to_remove.assert_called_once_with(
|
||||
self.context, port['port']['id'])
|
||||
|
||||
def test_delete_last_vm_port(self):
|
||||
self._test_delete_dvr_serviced_port(device_owner=DEVICE_OWNER_COMPUTE)
|
||||
|
|
|
@ -913,7 +913,7 @@ class L3DvrSchedulerTestCase(testlib_api.SqlTestCase):
|
|||
self.assertFalse(
|
||||
l3plugin.dvr_handle_new_service_port.called)
|
||||
self.assertFalse(l3plugin.remove_router_from_l3_agent.called)
|
||||
self.assertFalse(l3plugin.dvr_deletens_if_no_port.called)
|
||||
self.assertFalse(l3plugin.get_dvr_routers_to_remove.called)
|
||||
|
||||
def test__notify_l3_agent_new_port_action(self):
|
||||
kwargs = {
|
||||
|
@ -978,7 +978,7 @@ class L3DvrSchedulerTestCase(testlib_api.SqlTestCase):
|
|||
self.assertFalse(
|
||||
l3plugin.dvr_handle_new_service_port.called)
|
||||
self.assertFalse(l3plugin.remove_router_from_l3_agent.called)
|
||||
self.assertFalse(l3plugin.dvr_deletens_if_no_port.called)
|
||||
self.assertFalse(l3plugin.get_dvr_routers_to_remove.called)
|
||||
|
||||
def test__notify_l3_agent_update_port_with_mac_address_update(self):
|
||||
kwargs = {
|
||||
|
@ -1022,7 +1022,7 @@ class L3DvrSchedulerTestCase(testlib_api.SqlTestCase):
|
|||
with mock.patch.object(manager.NeutronManager,
|
||||
'get_service_plugins',
|
||||
return_value={'L3_ROUTER_NAT': l3plugin}),\
|
||||
mock.patch.object(l3plugin, 'dvr_deletens_if_no_port',
|
||||
mock.patch.object(l3plugin, 'get_dvr_routers_to_remove',
|
||||
return_value=[{'agent_id': 'foo_agent',
|
||||
'router_id': 'foo_id'}]):
|
||||
l3_dvrscheduler_db._notify_l3_agent_port_update(
|
||||
|
@ -1064,7 +1064,7 @@ class L3DvrSchedulerTestCase(testlib_api.SqlTestCase):
|
|||
with mock.patch.object(manager.NeutronManager,
|
||||
'get_service_plugins',
|
||||
return_value={'L3_ROUTER_NAT': l3plugin}),\
|
||||
mock.patch.object(l3plugin, 'dvr_deletens_if_no_port',
|
||||
mock.patch.object(l3plugin, 'get_dvr_routers_to_remove',
|
||||
return_value=[{'agent_id': 'foo_agent',
|
||||
'router_id': 'foo_id'}]):
|
||||
l3_dvrscheduler_db._notify_l3_agent_port_update(
|
||||
|
|
Loading…
Reference in New Issue