summaryrefslogtreecommitdiff
path: root/neutron/tests/unit/scheduler/test_l3_agent_scheduler.py
diff options
context:
space:
mode:
Diffstat (limited to 'neutron/tests/unit/scheduler/test_l3_agent_scheduler.py')
-rw-r--r--neutron/tests/unit/scheduler/test_l3_agent_scheduler.py34
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,