From 121a3bdffb0ee01b571fd8e84ef13af9095ad64e Mon Sep 17 00:00:00 2001 From: Swaminathan Vasudevan Date: Mon, 16 Mar 2015 20:20:36 +0000 Subject: [PATCH] Revert "fix check_ports_exist_on_l3agent in no subnet case" This reverts commit e99f6e00cfd397bb74d44c9462dfcfa545dbed8c. This patch introduces an issue with the Tempest test. Already there was a similar patch that broke the tempest test for DVR. This patch consistently failed to pass test_add_list_remove_router_on_l3_agent. I would recommend to revert this patch until the tempest test is fixed. Change-Id: Ibd1fcb7f5f3196ebc1ffa01b8d5d7c6e8f1aaaac --- neutron/db/l3_agentschedulers_db.py | 2 - neutron/tests/unit/test_l3_schedulers.py | 54 +++++++++--------------- 2 files changed, 21 insertions(+), 35 deletions(-) diff --git a/neutron/db/l3_agentschedulers_db.py b/neutron/db/l3_agentschedulers_db.py index 2d5d9b4da..c0142b22b 100644 --- a/neutron/db/l3_agentschedulers_db.py +++ b/neutron/db/l3_agentschedulers_db.py @@ -384,8 +384,6 @@ class L3AgentSchedulerDbMixin(l3agentscheduler.L3AgentSchedulerPluginBase, ports on the host, running the input l3agent. """ subnet_ids = self.get_subnet_ids_on_router(context, router_id) - if not subnet_ids: - return False core_plugin = manager.NeutronManager.get_plugin() filter = {'fixed_ips': {'subnet_id': subnet_ids}} diff --git a/neutron/tests/unit/test_l3_schedulers.py b/neutron/tests/unit/test_l3_schedulers.py index ef548a167..f3ba89e80 100644 --- a/neutron/tests/unit/test_l3_schedulers.py +++ b/neutron/tests/unit/test_l3_schedulers.py @@ -667,45 +667,33 @@ class L3SchedulerTestBaseMixin(object): def test_check_ports_exist_on_l3agent_no_subnets(self): l3_agent, router = self._prepare_check_ports_exist_tests() - with mock.patch.object(manager.NeutronManager, - 'get_plugin') as getp: - getp.return_value = self.plugin - # no subnets - self.get_subnet_ids_on_router.return_value = set() - val = self.check_ports_exist_on_l3agent(self.adminContext, - l3_agent, router['id']) - self.assertFalse(self.plugin.get_ports.called) - self.assertFalse(val) + # no subnets + val = self.check_ports_exist_on_l3agent(self.adminContext, + l3_agent, router['id']) + self.assertFalse(val) def test_check_ports_exist_on_l3agent_no_subnet_match(self): l3_agent, router = self._prepare_check_ports_exist_tests() - with mock.patch.object(manager.NeutronManager, - 'get_plugin') as getp: - getp.return_value = self.plugin - # no matching subnet - self.get_subnet_ids_on_router.return_value = [str(uuid.uuid4())] - val = self.check_ports_exist_on_l3agent(self.adminContext, - l3_agent, router['id']) - self.assertTrue(self.plugin.get_ports.called) - self.assertFalse(val) + # no matching subnet + self.plugin.get_subnet_ids_on_router = mock.Mock( + return_value=[str(uuid.uuid4())]) + val = self.check_ports_exist_on_l3agent(self.adminContext, + l3_agent, router['id']) + self.assertFalse(val) def test_check_ports_exist_on_l3agent_subnet_match(self): l3_agent, router = self._prepare_check_ports_exist_tests() - with mock.patch.object(manager.NeutronManager, - 'get_plugin') as getp: - getp.return_value = self.plugin - # matching subnet - port = {'subnet_id': str(uuid.uuid4()), - 'binding:host_id': 'host_1', - 'device_owner': 'compute:', - 'id': 1234} - self.plugin.get_ports.return_value = [port] - self.get_subnet_ids_on_router = mock.Mock( - return_value=[port['subnet_id']]) - val = self.check_ports_exist_on_l3agent(self.adminContext, - l3_agent, router['id']) - self.assertTrue(self.plugin.get_ports.called) - self.assertTrue(val) + # matching subnet + port = {'subnet_id': str(uuid.uuid4()), + 'binding:host_id': 'host_1', + 'device_owner': 'compute:', + 'id': 1234} + self.plugin.get_ports.return_value = [port] + self.plugin.get_subnet_ids_on_router = mock.Mock( + return_value=[port['subnet_id']]) + val = self.check_ports_exist_on_l3agent(self.adminContext, + l3_agent, router['id']) + self.assertTrue(val) class L3SchedulerTestCase(l3_agentschedulers_db.L3AgentSchedulerDbMixin, -- 2.45.2