diff options
Diffstat (limited to 'neutron/tests/unit/scheduler/test_l3_agent_scheduler.py')
-rw-r--r-- | neutron/tests/unit/scheduler/test_l3_agent_scheduler.py | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/neutron/tests/unit/scheduler/test_l3_agent_scheduler.py b/neutron/tests/unit/scheduler/test_l3_agent_scheduler.py index d5788adf5b..db41501ef9 100644 --- a/neutron/tests/unit/scheduler/test_l3_agent_scheduler.py +++ b/neutron/tests/unit/scheduler/test_l3_agent_scheduler.py @@ -209,13 +209,13 @@ class L3SchedulerBaseMixin(object): @contextlib.contextmanager def router_with_ext_gw(self, name='router1', admin_state_up=True, - fmt=None, tenant_id=uuidutils.generate_uuid(), + fmt=None, tenant_id=None, external_gateway_info=None, - subnet=None, set_context=False, - **kwargs): + subnet=None, **kwargs): + tenant_id = tenant_id or self._tenant_id router = self._make_router(fmt or self.fmt, tenant_id, name, admin_state_up, external_gateway_info, - set_context, **kwargs) + **kwargs) self._add_external_gateway_to_router( router['router']['id'], subnet['subnet']['network_id']) @@ -1380,6 +1380,7 @@ class L3DvrSchedulerTestCase(L3SchedulerBaseMixin, subnet_ids = [] subnet_ids.append(subnet['subnet']['id']) with self.port(subnet=subnet, + is_admin=True, device_owner=DEVICE_OWNER_COMPUTE, arg_list=('admin_state_up', portbindings.PROFILE,), **host_args): @@ -1640,6 +1641,8 @@ class L3_HA_scheduler_db_mixinTestCase(L3HATestCaseMixin): router2 = self._create_ha_router() router3 = self._create_ha_router(ha=False) result = self.plugin.get_routers_l3_agents_count(self.adminContext) + result += self.plugin.get_routers_l3_agents_count( + self.adminContext, ha=True) self.assertEqual(3, len(result)) check_result = [(router['id'], agents) for router, agents in result] @@ -1647,6 +1650,29 @@ class L3_HA_scheduler_db_mixinTestCase(L3HATestCaseMixin): self.assertIn((router2['id'], 2), check_result) self.assertIn((router3['id'], 0), check_result) + result = self.plugin.get_routers_l3_agents_count(self.adminContext, + ha=True, less_than=3) + check_result = [(router['id'], agents) for router, agents in result] + self.assertIn((router2['id'], 2), check_result) + + def test_get_routers_not_ha_l3_agents_count(self): + router1 = self._create_ha_router(ha=False) + router2 = self._create_ha_router(ha=False) + self.plugin.schedule_router(self.adminContext, router1['id'], + candidates=[self.agent1]) + result = self.plugin.get_routers_l3_agents_count(self.adminContext) + + self.assertEqual(2, len(result)) + check_result = [(router['id'], agents) for router, agents in result] + self.assertIn((router1['id'], 1), check_result) + self.assertIn((router2['id'], 0), check_result) + + result = self.plugin.get_routers_l3_agents_count(self.adminContext, + less_than=1) + check_result = [(router['id'], agents) for router, agents in result] + self.assertIn((router2['id'], 0), check_result) + self.assertNotIn((router1['id'], 1), check_result) + def test_get_ordered_l3_agents_by_num_routers(self): # Mock scheduling so that the test can control it explicitly mock.patch.object(l3_hamode_db.L3_HA_NAT_db_mixin, |