Merge "Rename confusing dvr_deletens_if_no_port"

This commit is contained in:
Jenkins 2016-01-28 08:46:47 +00:00 committed by Gerrit Code Review
commit 9434fdec0b
4 changed files with 19 additions and 15 deletions

View File

@ -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])

View File

@ -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)

View File

@ -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)

View File

@ -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(