octavia 12.0.0.0rc2__py3-none-any.whl → 13.0.0.0rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- octavia/amphorae/backends/agent/api_server/osutils.py +1 -0
- octavia/amphorae/backends/agent/api_server/plug.py +21 -7
- octavia/amphorae/backends/agent/api_server/templates/amphora-netns.systemd.j2 +2 -2
- octavia/amphorae/backends/agent/api_server/util.py +21 -0
- octavia/amphorae/backends/health_daemon/health_daemon.py +9 -3
- octavia/amphorae/backends/health_daemon/health_sender.py +2 -0
- octavia/amphorae/backends/utils/interface.py +14 -6
- octavia/amphorae/backends/utils/interface_file.py +6 -3
- octavia/amphorae/backends/utils/keepalivedlvs_query.py +8 -9
- octavia/amphorae/drivers/driver_base.py +1 -2
- octavia/amphorae/drivers/haproxy/rest_api_driver.py +11 -25
- octavia/amphorae/drivers/health/heartbeat_udp.py +34 -24
- octavia/amphorae/drivers/keepalived/jinja/jinja_cfg.py +3 -12
- octavia/amphorae/drivers/noop_driver/driver.py +3 -5
- octavia/api/common/pagination.py +4 -4
- octavia/api/drivers/amphora_driver/v2/driver.py +11 -5
- octavia/api/drivers/driver_agent/driver_get.py +22 -14
- octavia/api/drivers/driver_agent/driver_updater.py +8 -4
- octavia/api/drivers/utils.py +4 -2
- octavia/api/healthcheck/healthcheck_plugins.py +4 -2
- octavia/api/root_controller.py +4 -1
- octavia/api/v2/controllers/amphora.py +35 -38
- octavia/api/v2/controllers/availability_zone_profiles.py +43 -33
- octavia/api/v2/controllers/availability_zones.py +22 -18
- octavia/api/v2/controllers/flavor_profiles.py +37 -28
- octavia/api/v2/controllers/flavors.py +19 -15
- octavia/api/v2/controllers/health_monitor.py +44 -33
- octavia/api/v2/controllers/l7policy.py +52 -40
- octavia/api/v2/controllers/l7rule.py +68 -55
- octavia/api/v2/controllers/listener.py +88 -61
- octavia/api/v2/controllers/load_balancer.py +52 -34
- octavia/api/v2/controllers/member.py +63 -52
- octavia/api/v2/controllers/pool.py +55 -42
- octavia/api/v2/controllers/quotas.py +5 -3
- octavia/api/v2/types/listener.py +15 -0
- octavia/cmd/octavia_worker.py +0 -3
- octavia/cmd/status.py +1 -4
- octavia/common/clients.py +25 -45
- octavia/common/config.py +64 -22
- octavia/common/constants.py +3 -2
- octavia/common/data_models.py +7 -1
- octavia/common/jinja/haproxy/combined_listeners/jinja_cfg.py +12 -1
- octavia/common/jinja/haproxy/combined_listeners/templates/macros.j2 +5 -2
- octavia/common/jinja/lvs/jinja_cfg.py +4 -2
- octavia/common/keystone.py +58 -5
- octavia/common/validate.py +35 -0
- octavia/compute/drivers/noop_driver/driver.py +6 -0
- octavia/controller/healthmanager/health_manager.py +3 -6
- octavia/controller/housekeeping/house_keeping.py +36 -37
- octavia/controller/worker/amphora_rate_limit.py +5 -4
- octavia/controller/worker/task_utils.py +57 -41
- octavia/controller/worker/v2/controller_worker.py +160 -103
- octavia/controller/worker/v2/flows/listener_flows.py +3 -0
- octavia/controller/worker/v2/flows/load_balancer_flows.py +9 -14
- octavia/controller/worker/v2/tasks/amphora_driver_tasks.py +152 -91
- octavia/controller/worker/v2/tasks/compute_tasks.py +4 -2
- octavia/controller/worker/v2/tasks/database_tasks.py +542 -400
- octavia/controller/worker/v2/tasks/network_tasks.py +119 -79
- octavia/db/api.py +26 -23
- octavia/db/base_models.py +2 -2
- octavia/db/healthcheck.py +2 -1
- octavia/db/migration/alembic_migrations/versions/632152d2d32e_add_http_strict_transport_security_.py +42 -0
- octavia/db/models.py +12 -2
- octavia/db/prepare.py +2 -0
- octavia/db/repositories.py +462 -482
- octavia/hacking/checks.py +1 -1
- octavia/network/base.py +0 -14
- octavia/network/drivers/neutron/allowed_address_pairs.py +92 -135
- octavia/network/drivers/neutron/base.py +65 -77
- octavia/network/drivers/neutron/utils.py +69 -85
- octavia/network/drivers/noop_driver/driver.py +0 -7
- octavia/statistics/drivers/update_db.py +10 -10
- octavia/tests/common/constants.py +91 -84
- octavia/tests/common/sample_data_models.py +13 -1
- octavia/tests/fixtures.py +32 -0
- octavia/tests/functional/amphorae/backend/agent/api_server/test_server.py +9 -10
- octavia/tests/functional/api/drivers/driver_agent/test_driver_agent.py +260 -15
- octavia/tests/functional/api/test_root_controller.py +3 -28
- octavia/tests/functional/api/v2/base.py +5 -3
- octavia/tests/functional/api/v2/test_amphora.py +18 -5
- octavia/tests/functional/api/v2/test_availability_zone_profiles.py +1 -0
- octavia/tests/functional/api/v2/test_listener.py +51 -19
- octavia/tests/functional/api/v2/test_load_balancer.py +10 -1
- octavia/tests/functional/db/base.py +31 -16
- octavia/tests/functional/db/test_models.py +27 -28
- octavia/tests/functional/db/test_repositories.py +407 -50
- octavia/tests/unit/amphorae/backends/agent/api_server/test_amphora_info.py +2 -0
- octavia/tests/unit/amphorae/backends/agent/api_server/test_osutils.py +1 -1
- octavia/tests/unit/amphorae/backends/agent/api_server/test_plug.py +54 -6
- octavia/tests/unit/amphorae/backends/agent/api_server/test_util.py +35 -0
- octavia/tests/unit/amphorae/backends/health_daemon/test_health_daemon.py +8 -0
- octavia/tests/unit/amphorae/backends/health_daemon/test_health_sender.py +18 -0
- octavia/tests/unit/amphorae/backends/utils/test_interface.py +81 -0
- octavia/tests/unit/amphorae/backends/utils/test_interface_file.py +2 -0
- octavia/tests/unit/amphorae/backends/utils/test_keepalivedlvs_query.py +129 -5
- octavia/tests/unit/amphorae/drivers/haproxy/test_rest_api_driver_1_0.py +42 -20
- octavia/tests/unit/amphorae/drivers/health/test_heartbeat_udp.py +18 -20
- octavia/tests/unit/amphorae/drivers/keepalived/jinja/test_jinja_cfg.py +4 -4
- octavia/tests/unit/amphorae/drivers/noop_driver/test_driver.py +4 -1
- octavia/tests/unit/api/drivers/driver_agent/test_driver_get.py +3 -3
- octavia/tests/unit/api/drivers/driver_agent/test_driver_updater.py +11 -13
- octavia/tests/unit/base.py +6 -0
- octavia/tests/unit/cmd/test_interface.py +2 -2
- octavia/tests/unit/cmd/test_status.py +2 -2
- octavia/tests/unit/common/jinja/haproxy/combined_listeners/test_jinja_cfg.py +152 -1
- octavia/tests/unit/common/sample_configs/sample_configs_combined.py +10 -3
- octavia/tests/unit/common/test_clients.py +0 -39
- octavia/tests/unit/common/test_keystone.py +54 -0
- octavia/tests/unit/common/test_validate.py +67 -0
- octavia/tests/unit/controller/healthmanager/test_health_manager.py +8 -22
- octavia/tests/unit/controller/housekeeping/test_house_keeping.py +3 -64
- octavia/tests/unit/controller/worker/test_amphora_rate_limit.py +1 -1
- octavia/tests/unit/controller/worker/test_task_utils.py +44 -24
- octavia/tests/unit/controller/worker/v2/flows/test_load_balancer_flows.py +0 -1
- octavia/tests/unit/controller/worker/v2/tasks/test_amphora_driver_tasks.py +49 -26
- octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks.py +399 -196
- octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks_quota.py +37 -64
- octavia/tests/unit/controller/worker/v2/tasks/test_network_tasks.py +3 -14
- octavia/tests/unit/controller/worker/v2/test_controller_worker.py +2 -2
- octavia/tests/unit/network/drivers/neutron/test_allowed_address_pairs.py +456 -561
- octavia/tests/unit/network/drivers/neutron/test_base.py +181 -194
- octavia/tests/unit/network/drivers/neutron/test_utils.py +14 -30
- octavia/tests/unit/statistics/drivers/test_update_db.py +7 -5
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/README.rst +1 -1
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/AUTHORS +4 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/METADATA +4 -4
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/RECORD +141 -189
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/entry_points.txt +1 -2
- octavia-13.0.0.0rc1.dist-info/pbr.json +1 -0
- octavia/api/drivers/amphora_driver/v1/__init__.py +0 -11
- octavia/api/drivers/amphora_driver/v1/driver.py +0 -547
- octavia/controller/queue/v1/__init__.py +0 -11
- octavia/controller/queue/v1/consumer.py +0 -64
- octavia/controller/queue/v1/endpoints.py +0 -160
- octavia/controller/worker/v1/__init__.py +0 -11
- octavia/controller/worker/v1/controller_worker.py +0 -1157
- octavia/controller/worker/v1/flows/__init__.py +0 -11
- octavia/controller/worker/v1/flows/amphora_flows.py +0 -610
- octavia/controller/worker/v1/flows/health_monitor_flows.py +0 -105
- octavia/controller/worker/v1/flows/l7policy_flows.py +0 -94
- octavia/controller/worker/v1/flows/l7rule_flows.py +0 -100
- octavia/controller/worker/v1/flows/listener_flows.py +0 -128
- octavia/controller/worker/v1/flows/load_balancer_flows.py +0 -692
- octavia/controller/worker/v1/flows/member_flows.py +0 -230
- octavia/controller/worker/v1/flows/pool_flows.py +0 -127
- octavia/controller/worker/v1/tasks/__init__.py +0 -11
- octavia/controller/worker/v1/tasks/amphora_driver_tasks.py +0 -453
- octavia/controller/worker/v1/tasks/cert_task.py +0 -51
- octavia/controller/worker/v1/tasks/compute_tasks.py +0 -335
- octavia/controller/worker/v1/tasks/database_tasks.py +0 -2756
- octavia/controller/worker/v1/tasks/lifecycle_tasks.py +0 -173
- octavia/controller/worker/v1/tasks/model_tasks.py +0 -41
- octavia/controller/worker/v1/tasks/network_tasks.py +0 -970
- octavia/controller/worker/v1/tasks/retry_tasks.py +0 -74
- octavia/tests/unit/api/drivers/amphora_driver/v1/__init__.py +0 -11
- octavia/tests/unit/api/drivers/amphora_driver/v1/test_driver.py +0 -824
- octavia/tests/unit/controller/queue/v1/__init__.py +0 -11
- octavia/tests/unit/controller/queue/v1/test_consumer.py +0 -61
- octavia/tests/unit/controller/queue/v1/test_endpoints.py +0 -189
- octavia/tests/unit/controller/worker/v1/__init__.py +0 -11
- octavia/tests/unit/controller/worker/v1/flows/__init__.py +0 -11
- octavia/tests/unit/controller/worker/v1/flows/test_amphora_flows.py +0 -474
- octavia/tests/unit/controller/worker/v1/flows/test_health_monitor_flows.py +0 -72
- octavia/tests/unit/controller/worker/v1/flows/test_l7policy_flows.py +0 -67
- octavia/tests/unit/controller/worker/v1/flows/test_l7rule_flows.py +0 -67
- octavia/tests/unit/controller/worker/v1/flows/test_listener_flows.py +0 -91
- octavia/tests/unit/controller/worker/v1/flows/test_load_balancer_flows.py +0 -431
- octavia/tests/unit/controller/worker/v1/flows/test_member_flows.py +0 -106
- octavia/tests/unit/controller/worker/v1/flows/test_pool_flows.py +0 -77
- octavia/tests/unit/controller/worker/v1/tasks/__init__.py +0 -11
- octavia/tests/unit/controller/worker/v1/tasks/test_amphora_driver_tasks.py +0 -792
- octavia/tests/unit/controller/worker/v1/tasks/test_cert_task.py +0 -46
- octavia/tests/unit/controller/worker/v1/tasks/test_compute_tasks.py +0 -634
- octavia/tests/unit/controller/worker/v1/tasks/test_database_tasks.py +0 -2615
- octavia/tests/unit/controller/worker/v1/tasks/test_database_tasks_quota.py +0 -415
- octavia/tests/unit/controller/worker/v1/tasks/test_lifecycle_tasks.py +0 -401
- octavia/tests/unit/controller/worker/v1/tasks/test_model_tasks.py +0 -44
- octavia/tests/unit/controller/worker/v1/tasks/test_network_tasks.py +0 -1788
- octavia/tests/unit/controller/worker/v1/tasks/test_retry_tasks.py +0 -47
- octavia/tests/unit/controller/worker/v1/test_controller_worker.py +0 -2096
- octavia-12.0.0.0rc2.dist-info/pbr.json +0 -1
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/LICENSE +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/README.rst +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/diskimage-create.sh +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/image-tests.sh +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/requirements.txt +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/test-requirements.txt +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/tox.ini +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/version.txt +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/scripts/octavia-wsgi +0 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/LICENSE +0 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/WHEEL +0 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -92,6 +92,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
92
92
|
FAKE_UUID_1 = uuidutils.generate_uuid()
|
93
93
|
FAKE_UUID_2 = uuidutils.generate_uuid()
|
94
94
|
FAKE_UUID_3 = uuidutils.generate_uuid()
|
95
|
+
FAKE_UUID_4 = uuidutils.generate_uuid()
|
95
96
|
FAKE_IP = '192.0.2.44'
|
96
97
|
|
97
98
|
def setUp(self):
|
@@ -103,7 +104,8 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
103
104
|
provisioning_status=constants.ACTIVE,
|
104
105
|
operating_status=constants.ONLINE, enabled=True)
|
105
106
|
self.listener = self.repos.listener.create(
|
106
|
-
self.session,
|
107
|
+
self.session, id=self.FAKE_UUID_4,
|
108
|
+
protocol=constants.PROTOCOL_HTTP, protocol_port=80,
|
107
109
|
enabled=True, provisioning_status=constants.ACTIVE,
|
108
110
|
operating_status=constants.ONLINE,
|
109
111
|
load_balancer_id=self.load_balancer.id)
|
@@ -112,6 +114,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
112
114
|
load_balancer_id=self.load_balancer.id,
|
113
115
|
compute_id=self.FAKE_UUID_3, status=constants.ACTIVE,
|
114
116
|
vrrp_ip=self.FAKE_IP, lb_network_ip=self.FAKE_IP)
|
117
|
+
self.session.commit()
|
115
118
|
|
116
119
|
def test_all_repos_has_correct_repos(self):
|
117
120
|
repo_attr_names = ('load_balancer', 'vip', 'health_monitor',
|
@@ -163,6 +166,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
163
166
|
'ip_address': '192.0.2.2'}]
|
164
167
|
lb_dm = self.repos.create_load_balancer_and_vip(self.session, lb, vip,
|
165
168
|
additional_vips)
|
169
|
+
self.session.commit()
|
166
170
|
lb_dm_dict = lb_dm.to_dict()
|
167
171
|
del lb_dm_dict['vip']
|
168
172
|
del lb_dm_dict['additional_vips']
|
@@ -193,6 +197,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
193
197
|
'alpn_protocols': None}
|
194
198
|
pool_dm = self.repos.create_pool_on_load_balancer(
|
195
199
|
self.session, pool, listener_id=self.listener.id)
|
200
|
+
self.session.commit()
|
196
201
|
pool_dm_dict = pool_dm.to_dict()
|
197
202
|
# These are not defined in the sample pool dict but will
|
198
203
|
# be in the live data.
|
@@ -234,6 +239,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
234
239
|
pool.update({'session_persistence': sp})
|
235
240
|
pool_dm = self.repos.create_pool_on_load_balancer(
|
236
241
|
self.session, pool, listener_id=self.listener.id)
|
242
|
+
self.session.commit()
|
237
243
|
pool_dm_dict = pool_dm.to_dict()
|
238
244
|
# These are not defined in the sample pool dict but will
|
239
245
|
# be in the live data.
|
@@ -277,6 +283,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
277
283
|
update_pool = {'protocol': constants.PROTOCOL_TCP, 'name': 'up_pool'}
|
278
284
|
new_pool_dm = self.repos.update_pool_and_sp(
|
279
285
|
self.session, pool_dm.id, update_pool)
|
286
|
+
self.session.commit()
|
280
287
|
pool_dm_dict = new_pool_dm.to_dict()
|
281
288
|
# These are not defined in the sample pool dict but will
|
282
289
|
# be in the live data.
|
@@ -322,6 +329,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
322
329
|
update_pool.update({'session_persistence': update_sp})
|
323
330
|
new_pool_dm = self.repos.update_pool_and_sp(
|
324
331
|
self.session, pool_dm.id, update_pool)
|
332
|
+
self.session.commit()
|
325
333
|
pool_dm_dict = new_pool_dm.to_dict()
|
326
334
|
# These are not defined in the sample pool dict but will
|
327
335
|
# be in the live data.
|
@@ -354,6 +362,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
354
362
|
'id': uuidutils.generate_uuid()}
|
355
363
|
pool_dm = self.repos.create_pool_on_load_balancer(
|
356
364
|
self.session, pool, listener_id=self.listener.id)
|
365
|
+
self.session.commit()
|
357
366
|
update_pool = {'protocol': constants.PROTOCOL_TCP, 'name': 'up_pool'}
|
358
367
|
update_sp = {'type': constants.SESSION_PERSISTENCE_HTTP_COOKIE,
|
359
368
|
'cookie_name': 'monster_cookie',
|
@@ -362,6 +371,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
362
371
|
update_pool.update({'session_persistence': update_sp})
|
363
372
|
new_pool_dm = self.repos.update_pool_and_sp(
|
364
373
|
self.session, pool_dm.id, update_pool)
|
374
|
+
self.session.commit()
|
365
375
|
sp_dm_dict = new_pool_dm.session_persistence.to_dict()
|
366
376
|
del sp_dm_dict['pool']
|
367
377
|
update_sp['pool_id'] = pool_dm.id
|
@@ -382,6 +392,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
382
392
|
'session_persistence': None}
|
383
393
|
new_pool_dm = self.repos.update_pool_and_sp(
|
384
394
|
self.session, pool_dm.id, update_pool)
|
395
|
+
self.session.commit()
|
385
396
|
self.assertIsNone(new_pool_dm.session_persistence)
|
386
397
|
|
387
398
|
def test_update_pool_with_existing_sp_delete_sp(self):
|
@@ -398,10 +409,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
398
409
|
pool.update({'session_persistence': sp})
|
399
410
|
pool_dm = self.repos.create_pool_on_load_balancer(
|
400
411
|
self.session, pool, listener_id=self.listener.id)
|
412
|
+
self.session.commit()
|
401
413
|
update_pool = {'protocol': constants.PROTOCOL_TCP, 'name': 'up_pool',
|
402
414
|
'session_persistence': {}}
|
403
415
|
new_pool_dm = self.repos.update_pool_and_sp(
|
404
416
|
self.session, pool_dm.id, update_pool)
|
417
|
+
self.session.commit()
|
405
418
|
self.assertIsNone(new_pool_dm.session_persistence)
|
406
419
|
|
407
420
|
def test_update_pool_with_cert(self):
|
@@ -420,6 +433,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
420
433
|
update_pool = {'tls_certificate_id': uuidutils.generate_uuid()}
|
421
434
|
new_pool_dm = self.repos.update_pool_and_sp(
|
422
435
|
self.session, pool_dm.id, update_pool)
|
436
|
+
self.session.commit()
|
423
437
|
pool_dm_dict = new_pool_dm.to_dict()
|
424
438
|
# These are not defined in the sample pool dict but will
|
425
439
|
# be in the live data.
|
@@ -460,11 +474,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
460
474
|
'id': uuidutils.generate_uuid()}
|
461
475
|
|
462
476
|
session = db_api.get_session()
|
463
|
-
lock_session = db_api.get_session(
|
477
|
+
lock_session = db_api.get_session()
|
464
478
|
lbs = lock_session.query(db_models.LoadBalancer).filter_by(
|
465
479
|
project_id=project_id).all()
|
466
480
|
self.assertEqual(0, len(lbs)) # Initially: 0
|
467
481
|
self.repos.create_load_balancer_and_vip(lock_session, lb, vip)
|
482
|
+
self.session.commit()
|
468
483
|
lbs = lock_session.query(db_models.LoadBalancer).filter_by(
|
469
484
|
project_id=project_id).all()
|
470
485
|
self.assertEqual(1, len(lbs)) # After create: 1
|
@@ -473,6 +488,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
473
488
|
project_id=project_id).all()
|
474
489
|
self.assertEqual(0, len(lbs)) # After rollback: 0
|
475
490
|
self.repos.create_load_balancer_and_vip(lock_session, lb, vip)
|
491
|
+
self.session.commit()
|
476
492
|
lbs = lock_session.query(db_models.LoadBalancer).filter_by(
|
477
493
|
project_id=project_id).all()
|
478
494
|
self.assertEqual(1, len(lbs)) # After create: 1
|
@@ -484,6 +500,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
484
500
|
session.query(db_models.LoadBalancer).filter(
|
485
501
|
db_models.LoadBalancer.project_id == project_id).count()
|
486
502
|
self.repos.create_load_balancer_and_vip(lock_session, lb, vip)
|
503
|
+
self.session.commit()
|
487
504
|
lbs = lock_session.query(db_models.LoadBalancer).filter_by(
|
488
505
|
project_id=project_id).all()
|
489
506
|
self.assertEqual(1, len(lbs)) # After create: 1
|
@@ -510,6 +527,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
510
527
|
self.repos.check_quota_met,
|
511
528
|
self.session, self.session,
|
512
529
|
data_models.LoadBalancer, None)
|
530
|
+
self.session.commit()
|
513
531
|
|
514
532
|
# Test non-quota object
|
515
533
|
project_id = uuidutils.generate_uuid()
|
@@ -518,6 +536,8 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
518
536
|
self.session,
|
519
537
|
data_models.SessionPersistence,
|
520
538
|
project_id))
|
539
|
+
self.session.commit()
|
540
|
+
|
521
541
|
# Test DB deadlock case
|
522
542
|
project_id = uuidutils.generate_uuid()
|
523
543
|
mock_session = mock.MagicMock()
|
@@ -527,6 +547,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
527
547
|
self.repos.check_quota_met,
|
528
548
|
self.session, mock_session,
|
529
549
|
data_models.LoadBalancer, project_id)
|
550
|
+
self.session.commit()
|
530
551
|
|
531
552
|
# ### Test load balancer quota
|
532
553
|
# Test with no pre-existing quota record default 0
|
@@ -536,6 +557,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
536
557
|
self.session,
|
537
558
|
data_models.LoadBalancer,
|
538
559
|
project_id))
|
560
|
+
self.session.commit()
|
539
561
|
self.assertIsNone(self.repos.quotas.get(
|
540
562
|
self.session, project_id=project_id).in_use_load_balancer)
|
541
563
|
|
@@ -546,6 +568,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
546
568
|
self.session,
|
547
569
|
data_models.LoadBalancer,
|
548
570
|
project_id))
|
571
|
+
self.session.commit()
|
549
572
|
self.assertEqual(1, self.repos.quotas.get(
|
550
573
|
self.session, project_id=project_id).in_use_load_balancer)
|
551
574
|
# Test above project is now at quota
|
@@ -553,6 +576,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
553
576
|
self.session,
|
554
577
|
data_models.LoadBalancer,
|
555
578
|
project_id))
|
579
|
+
self.session.commit()
|
556
580
|
self.assertEqual(1, self.repos.quotas.get(
|
557
581
|
self.session, project_id=project_id).in_use_load_balancer)
|
558
582
|
|
@@ -564,6 +588,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
564
588
|
self.session,
|
565
589
|
data_models.LoadBalancer,
|
566
590
|
project_id))
|
591
|
+
self.session.commit()
|
567
592
|
self.assertEqual(1, self.repos.quotas.get(
|
568
593
|
self.session, project_id=project_id).in_use_load_balancer)
|
569
594
|
# Test above project adding another load balancer
|
@@ -584,10 +609,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
584
609
|
provisioning_status=constants.ACTIVE,
|
585
610
|
operating_status=constants.ONLINE,
|
586
611
|
enabled=True)
|
612
|
+
self.session.commit()
|
587
613
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
588
614
|
self.session,
|
589
615
|
data_models.LoadBalancer,
|
590
616
|
project_id))
|
617
|
+
self.session.commit()
|
591
618
|
|
592
619
|
# Test upgrade case with pre-quota deleted load balancers
|
593
620
|
project_id = uuidutils.generate_uuid()
|
@@ -599,10 +626,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
599
626
|
provisioning_status=constants.DELETED,
|
600
627
|
operating_status=constants.ONLINE,
|
601
628
|
enabled=True)
|
629
|
+
self.session.commit()
|
602
630
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
603
631
|
self.session,
|
604
632
|
data_models.LoadBalancer,
|
605
633
|
project_id))
|
634
|
+
self.session.commit()
|
606
635
|
self.assertEqual(1, self.repos.quotas.get(
|
607
636
|
self.session, project_id=project_id).in_use_load_balancer)
|
608
637
|
|
@@ -611,20 +640,24 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
611
640
|
conf.config(group='quotas', default_load_balancer_quota=10)
|
612
641
|
quota = {'load_balancer': 0}
|
613
642
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
643
|
+
self.session.commit()
|
614
644
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
615
645
|
self.session,
|
616
646
|
data_models.LoadBalancer,
|
617
647
|
project_id))
|
648
|
+
self.session.commit()
|
618
649
|
|
619
650
|
# Test pre-existing quota with quota of one
|
620
651
|
project_id = uuidutils.generate_uuid()
|
621
652
|
conf.config(group='quotas', default_load_balancer_quota=0)
|
622
653
|
quota = {'load_balancer': 1}
|
623
654
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
655
|
+
self.session.commit()
|
624
656
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
625
657
|
self.session,
|
626
658
|
data_models.LoadBalancer,
|
627
659
|
project_id))
|
660
|
+
self.session.commit()
|
628
661
|
self.assertEqual(1, self.repos.quotas.get(
|
629
662
|
self.session, project_id=project_id).in_use_load_balancer)
|
630
663
|
# Test above project is now at quota
|
@@ -632,6 +665,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
632
665
|
self.session,
|
633
666
|
data_models.LoadBalancer,
|
634
667
|
project_id))
|
668
|
+
self.session.commit()
|
635
669
|
self.assertEqual(1, self.repos.quotas.get(
|
636
670
|
self.session, project_id=project_id).in_use_load_balancer)
|
637
671
|
|
@@ -640,10 +674,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
640
674
|
conf.config(group='quotas', default_load_balancer_quota=0)
|
641
675
|
quota = {'load_balancer': constants.QUOTA_UNLIMITED}
|
642
676
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
677
|
+
self.session.commit()
|
643
678
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
644
679
|
self.session,
|
645
680
|
data_models.LoadBalancer,
|
646
681
|
project_id))
|
682
|
+
self.session.commit()
|
647
683
|
self.assertEqual(1, self.repos.quotas.get(
|
648
684
|
self.session, project_id=project_id).in_use_load_balancer)
|
649
685
|
# Test above project adding another load balancer
|
@@ -651,6 +687,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
651
687
|
self.session,
|
652
688
|
data_models.LoadBalancer,
|
653
689
|
project_id))
|
690
|
+
self.session.commit()
|
654
691
|
self.assertEqual(2, self.repos.quotas.get(
|
655
692
|
self.session, project_id=project_id).in_use_load_balancer)
|
656
693
|
|
@@ -662,6 +699,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
662
699
|
self.session,
|
663
700
|
data_models.Listener,
|
664
701
|
project_id))
|
702
|
+
self.session.commit()
|
665
703
|
self.assertIsNone(self.repos.quotas.get(
|
666
704
|
self.session, project_id=project_id).in_use_listener)
|
667
705
|
|
@@ -672,6 +710,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
672
710
|
self.session,
|
673
711
|
data_models.Listener,
|
674
712
|
project_id))
|
713
|
+
self.session.commit()
|
675
714
|
self.assertEqual(1, self.repos.quotas.get(
|
676
715
|
self.session, project_id=project_id).in_use_listener)
|
677
716
|
# Test above project is now at quota
|
@@ -679,6 +718,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
679
718
|
self.session,
|
680
719
|
data_models.Listener,
|
681
720
|
project_id))
|
721
|
+
self.session.commit()
|
682
722
|
self.assertEqual(1, self.repos.quotas.get(
|
683
723
|
self.session, project_id=project_id).in_use_listener)
|
684
724
|
|
@@ -690,6 +730,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
690
730
|
self.session,
|
691
731
|
data_models.Listener,
|
692
732
|
project_id))
|
733
|
+
self.session.commit()
|
693
734
|
self.assertEqual(1, self.repos.quotas.get(
|
694
735
|
self.session, project_id=project_id).in_use_listener)
|
695
736
|
# Test above project adding another listener
|
@@ -697,6 +738,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
697
738
|
self.session,
|
698
739
|
data_models.Listener,
|
699
740
|
project_id))
|
741
|
+
self.session.commit()
|
700
742
|
self.assertEqual(2, self.repos.quotas.get(
|
701
743
|
self.session, project_id=project_id).in_use_listener)
|
702
744
|
|
@@ -710,15 +752,19 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
710
752
|
provisioning_status=constants.ACTIVE,
|
711
753
|
operating_status=constants.ONLINE,
|
712
754
|
enabled=True)
|
755
|
+
self.session.commit()
|
713
756
|
self.repos.listener.create(
|
714
|
-
self.session,
|
757
|
+
self.session, id=uuidutils.generate_uuid(),
|
758
|
+
protocol=constants.PROTOCOL_HTTP, protocol_port=80,
|
715
759
|
enabled=True, provisioning_status=constants.ACTIVE,
|
716
760
|
operating_status=constants.ONLINE, project_id=project_id,
|
717
761
|
load_balancer_id=lb.id)
|
762
|
+
self.session.commit()
|
718
763
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
719
764
|
self.session,
|
720
765
|
data_models.Listener,
|
721
766
|
project_id))
|
767
|
+
self.session.commit()
|
722
768
|
|
723
769
|
# Test upgrade case with pre-quota deleted listener
|
724
770
|
project_id = uuidutils.generate_uuid()
|
@@ -730,15 +776,19 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
730
776
|
provisioning_status=constants.ACTIVE,
|
731
777
|
operating_status=constants.ONLINE,
|
732
778
|
enabled=True)
|
779
|
+
self.session.commit()
|
733
780
|
self.repos.listener.create(
|
734
|
-
self.session,
|
781
|
+
self.session, id=uuidutils.generate_uuid(),
|
782
|
+
protocol=constants.PROTOCOL_HTTP, protocol_port=80,
|
735
783
|
enabled=True, provisioning_status=constants.DELETED,
|
736
784
|
operating_status=constants.ONLINE, project_id=project_id,
|
737
785
|
load_balancer_id=lb.id)
|
786
|
+
self.session.commit()
|
738
787
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
739
788
|
self.session,
|
740
789
|
data_models.Listener,
|
741
790
|
project_id))
|
791
|
+
self.session.commit()
|
742
792
|
self.assertEqual(1, self.repos.quotas.get(
|
743
793
|
self.session, project_id=project_id).in_use_listener)
|
744
794
|
|
@@ -747,20 +797,24 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
747
797
|
conf.config(group='quotas', default_listener_quota=10)
|
748
798
|
quota = {'listener': 0}
|
749
799
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
800
|
+
self.session.commit()
|
750
801
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
751
802
|
self.session,
|
752
803
|
data_models.Listener,
|
753
804
|
project_id))
|
805
|
+
self.session.commit()
|
754
806
|
|
755
807
|
# Test pre-existing quota with quota of one
|
756
808
|
project_id = uuidutils.generate_uuid()
|
757
809
|
conf.config(group='quotas', default_listener_quota=0)
|
758
810
|
quota = {'listener': 1}
|
759
811
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
812
|
+
self.session.commit()
|
760
813
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
761
814
|
self.session,
|
762
815
|
data_models.Listener,
|
763
816
|
project_id))
|
817
|
+
self.session.commit()
|
764
818
|
self.assertEqual(1, self.repos.quotas.get(
|
765
819
|
self.session, project_id=project_id).in_use_listener)
|
766
820
|
# Test above project is now at quota
|
@@ -768,6 +822,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
768
822
|
self.session,
|
769
823
|
data_models.Listener,
|
770
824
|
project_id))
|
825
|
+
self.session.commit()
|
771
826
|
self.assertEqual(1, self.repos.quotas.get(
|
772
827
|
self.session, project_id=project_id).in_use_listener)
|
773
828
|
|
@@ -776,10 +831,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
776
831
|
conf.config(group='quotas', default_listener_quota=0)
|
777
832
|
quota = {'listener': constants.QUOTA_UNLIMITED}
|
778
833
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
834
|
+
self.session.commit()
|
779
835
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
780
836
|
self.session,
|
781
837
|
data_models.Listener,
|
782
838
|
project_id))
|
839
|
+
self.session.commit()
|
783
840
|
self.assertEqual(1, self.repos.quotas.get(
|
784
841
|
self.session, project_id=project_id).in_use_listener)
|
785
842
|
# Test above project adding another listener
|
@@ -787,6 +844,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
787
844
|
self.session,
|
788
845
|
data_models.Listener,
|
789
846
|
project_id))
|
847
|
+
self.session.commit()
|
790
848
|
self.assertEqual(2, self.repos.quotas.get(
|
791
849
|
self.session, project_id=project_id).in_use_listener)
|
792
850
|
|
@@ -798,6 +856,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
798
856
|
self.session,
|
799
857
|
data_models.Pool,
|
800
858
|
project_id))
|
859
|
+
self.session.commit()
|
801
860
|
self.assertIsNone(self.repos.quotas.get(
|
802
861
|
self.session, project_id=project_id).in_use_pool)
|
803
862
|
|
@@ -808,6 +867,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
808
867
|
self.session,
|
809
868
|
data_models.Pool,
|
810
869
|
project_id))
|
870
|
+
self.session.commit()
|
811
871
|
self.assertEqual(1, self.repos.quotas.get(
|
812
872
|
self.session, project_id=project_id).in_use_pool)
|
813
873
|
# Test above project is now at quota
|
@@ -815,6 +875,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
815
875
|
self.session,
|
816
876
|
data_models.Pool,
|
817
877
|
project_id))
|
878
|
+
self.session.commit()
|
818
879
|
self.assertEqual(1, self.repos.quotas.get(
|
819
880
|
self.session, project_id=project_id).in_use_pool)
|
820
881
|
|
@@ -826,6 +887,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
826
887
|
self.session,
|
827
888
|
data_models.Pool,
|
828
889
|
project_id))
|
890
|
+
self.session.commit()
|
829
891
|
self.assertEqual(1, self.repos.quotas.get(
|
830
892
|
self.session, project_id=project_id).in_use_pool)
|
831
893
|
# Test above project adding another pool
|
@@ -833,6 +895,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
833
895
|
self.session,
|
834
896
|
data_models.Pool,
|
835
897
|
project_id))
|
898
|
+
self.session.commit()
|
836
899
|
self.assertEqual(2, self.repos.quotas.get(
|
837
900
|
self.session, project_id=project_id).in_use_pool)
|
838
901
|
|
@@ -846,6 +909,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
846
909
|
provisioning_status=constants.ACTIVE,
|
847
910
|
operating_status=constants.ONLINE,
|
848
911
|
enabled=True)
|
912
|
+
self.session.commit()
|
849
913
|
self.repos.pool.create(
|
850
914
|
self.session, id=uuidutils.generate_uuid(),
|
851
915
|
project_id=project_id, name="pool1",
|
@@ -854,10 +918,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
854
918
|
provisioning_status=constants.ACTIVE,
|
855
919
|
operating_status=constants.ONLINE,
|
856
920
|
enabled=True, load_balancer_id=lb.id)
|
921
|
+
self.session.commit()
|
857
922
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
858
923
|
self.session,
|
859
924
|
data_models.Pool,
|
860
925
|
project_id))
|
926
|
+
self.session.commit()
|
861
927
|
|
862
928
|
# Test upgrade case with pre-quota deleted pool
|
863
929
|
project_id = uuidutils.generate_uuid()
|
@@ -869,6 +935,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
869
935
|
provisioning_status=constants.ACTIVE,
|
870
936
|
operating_status=constants.ONLINE,
|
871
937
|
enabled=True)
|
938
|
+
self.session.commit()
|
872
939
|
self.repos.pool.create(
|
873
940
|
self.session, id=uuidutils.generate_uuid(),
|
874
941
|
project_id=project_id, name="pool1",
|
@@ -877,10 +944,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
877
944
|
provisioning_status=constants.DELETED,
|
878
945
|
operating_status=constants.ONLINE,
|
879
946
|
enabled=True, load_balancer_id=lb.id)
|
947
|
+
self.session.commit()
|
880
948
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
881
949
|
self.session,
|
882
950
|
data_models.Pool,
|
883
951
|
project_id))
|
952
|
+
self.session.commit()
|
884
953
|
self.assertEqual(1, self.repos.quotas.get(
|
885
954
|
self.session, project_id=project_id).in_use_pool)
|
886
955
|
|
@@ -893,6 +962,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
893
962
|
self.session,
|
894
963
|
data_models.Pool,
|
895
964
|
project_id))
|
965
|
+
self.session.commit()
|
896
966
|
|
897
967
|
# Test pre-existing quota with quota of one
|
898
968
|
project_id = uuidutils.generate_uuid()
|
@@ -903,6 +973,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
903
973
|
self.session,
|
904
974
|
data_models.Pool,
|
905
975
|
project_id))
|
976
|
+
self.session.commit()
|
906
977
|
self.assertEqual(1, self.repos.quotas.get(
|
907
978
|
self.session, project_id=project_id).in_use_pool)
|
908
979
|
# Test above project is now at quota
|
@@ -910,6 +981,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
910
981
|
self.session,
|
911
982
|
data_models.Pool,
|
912
983
|
project_id))
|
984
|
+
self.session.commit()
|
913
985
|
self.assertEqual(1, self.repos.quotas.get(
|
914
986
|
self.session, project_id=project_id).in_use_pool)
|
915
987
|
|
@@ -918,10 +990,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
918
990
|
conf.config(group='quotas', default_pool_quota=0)
|
919
991
|
quota = {'pool': constants.QUOTA_UNLIMITED}
|
920
992
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
993
|
+
self.session.commit()
|
921
994
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
922
995
|
self.session,
|
923
996
|
data_models.Pool,
|
924
997
|
project_id))
|
998
|
+
self.session.commit()
|
925
999
|
self.assertEqual(1, self.repos.quotas.get(
|
926
1000
|
self.session, project_id=project_id).in_use_pool)
|
927
1001
|
# Test above project adding another pool
|
@@ -929,6 +1003,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
929
1003
|
self.session,
|
930
1004
|
data_models.Pool,
|
931
1005
|
project_id))
|
1006
|
+
self.session.commit()
|
932
1007
|
self.assertEqual(2, self.repos.quotas.get(
|
933
1008
|
self.session, project_id=project_id).in_use_pool)
|
934
1009
|
|
@@ -940,6 +1015,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
940
1015
|
self.session,
|
941
1016
|
data_models.HealthMonitor,
|
942
1017
|
project_id))
|
1018
|
+
self.session.commit()
|
943
1019
|
self.assertIsNone(self.repos.quotas.get(
|
944
1020
|
self.session, project_id=project_id).in_use_health_monitor)
|
945
1021
|
|
@@ -950,6 +1026,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
950
1026
|
self.session,
|
951
1027
|
data_models.HealthMonitor,
|
952
1028
|
project_id))
|
1029
|
+
self.session.commit()
|
953
1030
|
self.assertEqual(1, self.repos.quotas.get(
|
954
1031
|
self.session, project_id=project_id).in_use_health_monitor)
|
955
1032
|
# Test above project is now at quota
|
@@ -957,6 +1034,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
957
1034
|
self.session,
|
958
1035
|
data_models.HealthMonitor,
|
959
1036
|
project_id))
|
1037
|
+
self.session.commit()
|
960
1038
|
self.assertEqual(1, self.repos.quotas.get(
|
961
1039
|
self.session, project_id=project_id).in_use_health_monitor)
|
962
1040
|
|
@@ -968,6 +1046,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
968
1046
|
self.session,
|
969
1047
|
data_models.HealthMonitor,
|
970
1048
|
project_id))
|
1049
|
+
self.session.commit()
|
971
1050
|
self.assertEqual(1, self.repos.quotas.get(
|
972
1051
|
self.session, project_id=project_id).in_use_health_monitor)
|
973
1052
|
# Test above project adding another health monitor
|
@@ -975,6 +1054,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
975
1054
|
self.session,
|
976
1055
|
data_models.HealthMonitor,
|
977
1056
|
project_id))
|
1057
|
+
self.session.commit()
|
978
1058
|
self.assertEqual(2, self.repos.quotas.get(
|
979
1059
|
self.session, project_id=project_id).in_use_health_monitor)
|
980
1060
|
|
@@ -988,6 +1068,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
988
1068
|
provisioning_status=constants.ACTIVE,
|
989
1069
|
operating_status=constants.ONLINE,
|
990
1070
|
enabled=True)
|
1071
|
+
self.session.commit()
|
991
1072
|
pool = self.repos.pool.create(
|
992
1073
|
self.session, id=uuidutils.generate_uuid(),
|
993
1074
|
project_id=project_id, name="pool1",
|
@@ -996,6 +1077,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
996
1077
|
provisioning_status=constants.ACTIVE,
|
997
1078
|
operating_status=constants.ONLINE,
|
998
1079
|
enabled=True, load_balancer_id=lb.id)
|
1080
|
+
self.session.commit()
|
999
1081
|
self.repos.health_monitor.create(
|
1000
1082
|
self.session, project_id=project_id,
|
1001
1083
|
name="health_mon1", type=constants.HEALTH_MONITOR_HTTP,
|
@@ -1003,10 +1085,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1003
1085
|
provisioning_status=constants.ACTIVE,
|
1004
1086
|
operating_status=constants.ONLINE,
|
1005
1087
|
enabled=True, pool_id=pool.id)
|
1088
|
+
self.session.commit()
|
1006
1089
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
1007
1090
|
self.session,
|
1008
1091
|
data_models.HealthMonitor,
|
1009
1092
|
project_id))
|
1093
|
+
self.session.commit()
|
1010
1094
|
|
1011
1095
|
# Test upgrade case with pre-quota deleted health monitor
|
1012
1096
|
project_id = uuidutils.generate_uuid()
|
@@ -1018,6 +1102,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1018
1102
|
provisioning_status=constants.ACTIVE,
|
1019
1103
|
operating_status=constants.ONLINE,
|
1020
1104
|
enabled=True)
|
1105
|
+
self.session.commit()
|
1021
1106
|
pool = self.repos.pool.create(
|
1022
1107
|
self.session, id=uuidutils.generate_uuid(),
|
1023
1108
|
project_id=project_id, name="pool1",
|
@@ -1026,6 +1111,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1026
1111
|
provisioning_status=constants.ACTIVE,
|
1027
1112
|
operating_status=constants.ONLINE,
|
1028
1113
|
enabled=True, load_balancer_id=lb.id)
|
1114
|
+
self.session.commit()
|
1029
1115
|
self.repos.health_monitor.create(
|
1030
1116
|
self.session, project_id=project_id,
|
1031
1117
|
name="health_mon1", type=constants.HEALTH_MONITOR_HTTP,
|
@@ -1033,10 +1119,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1033
1119
|
provisioning_status=constants.DELETED,
|
1034
1120
|
operating_status=constants.OFFLINE,
|
1035
1121
|
enabled=True, pool_id=pool.id)
|
1122
|
+
self.session.commit()
|
1036
1123
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
1037
1124
|
self.session,
|
1038
1125
|
data_models.HealthMonitor,
|
1039
1126
|
project_id))
|
1127
|
+
self.session.commit()
|
1040
1128
|
self.assertEqual(1, self.repos.quotas.get(
|
1041
1129
|
self.session, project_id=project_id).in_use_health_monitor)
|
1042
1130
|
|
@@ -1045,10 +1133,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1045
1133
|
conf.config(group='quotas', default_health_monitor_quota=10)
|
1046
1134
|
quota = {'health_monitor': 0}
|
1047
1135
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
1136
|
+
self.session.commit()
|
1048
1137
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
1049
1138
|
self.session,
|
1050
1139
|
data_models.HealthMonitor,
|
1051
1140
|
project_id))
|
1141
|
+
self.session.commit()
|
1052
1142
|
|
1053
1143
|
# Test pre-existing quota with quota of one
|
1054
1144
|
project_id = uuidutils.generate_uuid()
|
@@ -1059,6 +1149,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1059
1149
|
self.session,
|
1060
1150
|
data_models.HealthMonitor,
|
1061
1151
|
project_id))
|
1152
|
+
self.session.commit()
|
1062
1153
|
self.assertEqual(1, self.repos.quotas.get(
|
1063
1154
|
self.session, project_id=project_id).in_use_health_monitor)
|
1064
1155
|
# Test above project is now at quota
|
@@ -1066,6 +1157,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1066
1157
|
self.session,
|
1067
1158
|
data_models.HealthMonitor,
|
1068
1159
|
project_id))
|
1160
|
+
self.session.commit()
|
1069
1161
|
self.assertEqual(1, self.repos.quotas.get(
|
1070
1162
|
self.session, project_id=project_id).in_use_health_monitor)
|
1071
1163
|
|
@@ -1074,10 +1166,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1074
1166
|
conf.config(group='quotas', default_health_monitor_quota=0)
|
1075
1167
|
quota = {'health_monitor': constants.QUOTA_UNLIMITED}
|
1076
1168
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
1169
|
+
self.session.commit()
|
1077
1170
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
1078
1171
|
self.session,
|
1079
1172
|
data_models.HealthMonitor,
|
1080
1173
|
project_id))
|
1174
|
+
self.session.commit()
|
1081
1175
|
self.assertEqual(1, self.repos.quotas.get(
|
1082
1176
|
self.session, project_id=project_id).in_use_health_monitor)
|
1083
1177
|
# Test above project adding another health monitor
|
@@ -1085,6 +1179,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1085
1179
|
self.session,
|
1086
1180
|
data_models.HealthMonitor,
|
1087
1181
|
project_id))
|
1182
|
+
self.session.commit()
|
1088
1183
|
self.assertEqual(2, self.repos.quotas.get(
|
1089
1184
|
self.session, project_id=project_id).in_use_health_monitor)
|
1090
1185
|
|
@@ -1096,6 +1191,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1096
1191
|
self.session,
|
1097
1192
|
data_models.Member,
|
1098
1193
|
project_id))
|
1194
|
+
self.session.commit()
|
1099
1195
|
self.assertIsNone(self.repos.quotas.get(
|
1100
1196
|
self.session, project_id=project_id).in_use_member)
|
1101
1197
|
|
@@ -1106,6 +1202,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1106
1202
|
self.session,
|
1107
1203
|
data_models.Member,
|
1108
1204
|
project_id))
|
1205
|
+
self.session.commit()
|
1109
1206
|
self.assertEqual(1, self.repos.quotas.get(
|
1110
1207
|
self.session, project_id=project_id).in_use_member)
|
1111
1208
|
# Test above project is now at quota
|
@@ -1113,6 +1210,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1113
1210
|
self.session,
|
1114
1211
|
data_models.Member,
|
1115
1212
|
project_id))
|
1213
|
+
self.session.commit()
|
1116
1214
|
self.assertEqual(1, self.repos.quotas.get(
|
1117
1215
|
self.session, project_id=project_id).in_use_member)
|
1118
1216
|
|
@@ -1124,6 +1222,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1124
1222
|
self.session,
|
1125
1223
|
data_models.Member,
|
1126
1224
|
project_id))
|
1225
|
+
self.session.commit()
|
1127
1226
|
self.assertEqual(1, self.repos.quotas.get(
|
1128
1227
|
self.session, project_id=project_id).in_use_member)
|
1129
1228
|
# Test above project adding another member
|
@@ -1131,6 +1230,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1131
1230
|
self.session,
|
1132
1231
|
data_models.Member,
|
1133
1232
|
project_id))
|
1233
|
+
self.session.commit()
|
1134
1234
|
self.assertEqual(2, self.repos.quotas.get(
|
1135
1235
|
self.session, project_id=project_id).in_use_member)
|
1136
1236
|
|
@@ -1144,6 +1244,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1144
1244
|
provisioning_status=constants.ACTIVE,
|
1145
1245
|
operating_status=constants.ONLINE,
|
1146
1246
|
enabled=True)
|
1247
|
+
self.session.commit()
|
1147
1248
|
pool = self.repos.pool.create(
|
1148
1249
|
self.session, id=uuidutils.generate_uuid(),
|
1149
1250
|
project_id=project_id, name="pool1",
|
@@ -1152,16 +1253,20 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1152
1253
|
provisioning_status=constants.ACTIVE,
|
1153
1254
|
operating_status=constants.ONLINE,
|
1154
1255
|
enabled=True, load_balancer_id=lb.id)
|
1256
|
+
self.session.commit()
|
1155
1257
|
self.repos.member.create(
|
1156
|
-
self.session,
|
1258
|
+
self.session, id=uuidutils.generate_uuid(),
|
1259
|
+
project_id=project_id,
|
1157
1260
|
ip_address='192.0.2.1', protocol_port=80,
|
1158
1261
|
provisioning_status=constants.ACTIVE,
|
1159
1262
|
operating_status=constants.ONLINE,
|
1160
1263
|
enabled=True, pool_id=pool.id, backup=False)
|
1264
|
+
self.session.commit()
|
1161
1265
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
1162
1266
|
self.session,
|
1163
1267
|
data_models.Member,
|
1164
1268
|
project_id))
|
1269
|
+
self.session.commit()
|
1165
1270
|
|
1166
1271
|
# Test upgrade case with pre-quota deleted member
|
1167
1272
|
project_id = uuidutils.generate_uuid()
|
@@ -1173,6 +1278,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1173
1278
|
provisioning_status=constants.ACTIVE,
|
1174
1279
|
operating_status=constants.ONLINE,
|
1175
1280
|
enabled=True)
|
1281
|
+
self.session.commit()
|
1176
1282
|
pool = self.repos.pool.create(
|
1177
1283
|
self.session, id=uuidutils.generate_uuid(),
|
1178
1284
|
project_id=project_id, name="pool1",
|
@@ -1181,16 +1287,20 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1181
1287
|
provisioning_status=constants.ACTIVE,
|
1182
1288
|
operating_status=constants.ONLINE,
|
1183
1289
|
enabled=True, load_balancer_id=lb.id)
|
1290
|
+
self.session.commit()
|
1184
1291
|
self.repos.member.create(
|
1185
|
-
self.session,
|
1292
|
+
self.session, id=uuidutils.generate_uuid(),
|
1293
|
+
project_id=project_id,
|
1186
1294
|
ip_address='192.0.2.1', protocol_port=80,
|
1187
1295
|
provisioning_status=constants.DELETED,
|
1188
1296
|
operating_status=constants.ONLINE,
|
1189
1297
|
enabled=True, pool_id=pool.id, backup=False)
|
1298
|
+
self.session.commit()
|
1190
1299
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
1191
1300
|
self.session,
|
1192
1301
|
data_models.Member,
|
1193
1302
|
project_id))
|
1303
|
+
self.session.commit()
|
1194
1304
|
self.assertEqual(1, self.repos.quotas.get(
|
1195
1305
|
self.session, project_id=project_id).in_use_member)
|
1196
1306
|
|
@@ -1199,20 +1309,24 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1199
1309
|
conf.config(group='quotas', default_member_quota=10)
|
1200
1310
|
quota = {'member': 0}
|
1201
1311
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
1312
|
+
self.session.commit()
|
1202
1313
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
1203
1314
|
self.session,
|
1204
1315
|
data_models.Member,
|
1205
1316
|
project_id))
|
1317
|
+
self.session.commit()
|
1206
1318
|
|
1207
1319
|
# Test pre-existing quota with quota of one
|
1208
1320
|
project_id = uuidutils.generate_uuid()
|
1209
1321
|
conf.config(group='quotas', default_member_quota=0)
|
1210
1322
|
quota = {'member': 1}
|
1211
1323
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
1324
|
+
self.session.commit()
|
1212
1325
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
1213
1326
|
self.session,
|
1214
1327
|
data_models.Member,
|
1215
1328
|
project_id))
|
1329
|
+
self.session.commit()
|
1216
1330
|
self.assertEqual(1, self.repos.quotas.get(
|
1217
1331
|
self.session, project_id=project_id).in_use_member)
|
1218
1332
|
# Test above project is now at quota
|
@@ -1220,6 +1334,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1220
1334
|
self.session,
|
1221
1335
|
data_models.Member,
|
1222
1336
|
project_id))
|
1337
|
+
self.session.commit()
|
1223
1338
|
self.assertEqual(1, self.repos.quotas.get(
|
1224
1339
|
self.session, project_id=project_id).in_use_member)
|
1225
1340
|
|
@@ -1228,10 +1343,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1228
1343
|
conf.config(group='quotas', default_member_quota=0)
|
1229
1344
|
quota = {'member': constants.QUOTA_UNLIMITED}
|
1230
1345
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
1346
|
+
self.session.commit()
|
1231
1347
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
1232
1348
|
self.session,
|
1233
1349
|
data_models.Member,
|
1234
1350
|
project_id))
|
1351
|
+
self.session.commit()
|
1235
1352
|
self.assertEqual(1, self.repos.quotas.get(
|
1236
1353
|
self.session, project_id=project_id).in_use_member)
|
1237
1354
|
# Test above project adding another member
|
@@ -1239,6 +1356,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1239
1356
|
self.session,
|
1240
1357
|
data_models.Member,
|
1241
1358
|
project_id))
|
1359
|
+
self.session.commit()
|
1242
1360
|
self.assertEqual(2, self.repos.quotas.get(
|
1243
1361
|
self.session, project_id=project_id).in_use_member)
|
1244
1362
|
|
@@ -1250,6 +1368,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1250
1368
|
self.session,
|
1251
1369
|
data_models.L7Policy,
|
1252
1370
|
project_id))
|
1371
|
+
self.session.commit()
|
1253
1372
|
self.assertIsNone(self.repos.quotas.get(
|
1254
1373
|
self.session, project_id=project_id).in_use_l7policy)
|
1255
1374
|
|
@@ -1260,6 +1379,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1260
1379
|
self.session,
|
1261
1380
|
data_models.L7Policy,
|
1262
1381
|
project_id))
|
1382
|
+
self.session.commit()
|
1263
1383
|
self.assertEqual(1, self.repos.quotas.get(
|
1264
1384
|
self.session, project_id=project_id).in_use_l7policy)
|
1265
1385
|
# Test above project is now at quota
|
@@ -1267,6 +1387,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1267
1387
|
self.session,
|
1268
1388
|
data_models.L7Policy,
|
1269
1389
|
project_id))
|
1390
|
+
self.session.commit()
|
1270
1391
|
self.assertEqual(1, self.repos.quotas.get(
|
1271
1392
|
self.session, project_id=project_id).in_use_l7policy)
|
1272
1393
|
|
@@ -1278,6 +1399,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1278
1399
|
self.session,
|
1279
1400
|
data_models.L7Policy,
|
1280
1401
|
project_id))
|
1402
|
+
self.session.commit()
|
1281
1403
|
self.assertEqual(1, self.repos.quotas.get(
|
1282
1404
|
self.session, project_id=project_id).in_use_l7policy)
|
1283
1405
|
# Test above project adding another l7policy
|
@@ -1285,6 +1407,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1285
1407
|
self.session,
|
1286
1408
|
data_models.L7Policy,
|
1287
1409
|
project_id))
|
1410
|
+
self.session.commit()
|
1288
1411
|
self.assertEqual(2, self.repos.quotas.get(
|
1289
1412
|
self.session, project_id=project_id).in_use_l7policy)
|
1290
1413
|
|
@@ -1298,21 +1421,26 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1298
1421
|
provisioning_status=constants.ACTIVE,
|
1299
1422
|
operating_status=constants.ONLINE,
|
1300
1423
|
enabled=True)
|
1424
|
+
self.session.commit()
|
1301
1425
|
listener = self.repos.listener.create(
|
1302
|
-
self.session,
|
1426
|
+
self.session, id=uuidutils.generate_uuid(),
|
1427
|
+
protocol=constants.PROTOCOL_HTTP, protocol_port=80,
|
1303
1428
|
enabled=True, provisioning_status=constants.ACTIVE,
|
1304
1429
|
operating_status=constants.ONLINE, project_id=project_id,
|
1305
1430
|
load_balancer_id=lb.id)
|
1431
|
+
self.session.commit()
|
1306
1432
|
self.repos.l7policy.create(
|
1307
1433
|
self.session, name='l7policy', enabled=True, position=1,
|
1308
1434
|
action=constants.L7POLICY_ACTION_REJECT,
|
1309
1435
|
provisioning_status=constants.ACTIVE, listener_id=listener.id,
|
1310
1436
|
operating_status=constants.ONLINE, project_id=project_id,
|
1311
1437
|
id=uuidutils.generate_uuid())
|
1438
|
+
self.session.commit()
|
1312
1439
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
1313
1440
|
self.session,
|
1314
1441
|
data_models.L7Policy,
|
1315
1442
|
project_id))
|
1443
|
+
self.session.commit()
|
1316
1444
|
|
1317
1445
|
# Test upgrade case with pre-quota deleted l7policy
|
1318
1446
|
project_id = uuidutils.generate_uuid()
|
@@ -1324,21 +1452,26 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1324
1452
|
provisioning_status=constants.ACTIVE,
|
1325
1453
|
operating_status=constants.ONLINE,
|
1326
1454
|
enabled=True)
|
1455
|
+
self.session.commit()
|
1327
1456
|
listener = self.repos.listener.create(
|
1328
|
-
self.session,
|
1457
|
+
self.session, id=uuidutils.generate_uuid(),
|
1458
|
+
protocol=constants.PROTOCOL_HTTP, protocol_port=80,
|
1329
1459
|
enabled=True, provisioning_status=constants.ACTIVE,
|
1330
1460
|
operating_status=constants.ONLINE, project_id=project_id,
|
1331
1461
|
load_balancer_id=lb.id)
|
1462
|
+
self.session.commit()
|
1332
1463
|
self.repos.l7policy.create(
|
1333
1464
|
self.session, name='l7policy', enabled=True, position=1,
|
1334
1465
|
action=constants.L7POLICY_ACTION_REJECT,
|
1335
1466
|
provisioning_status=constants.DELETED, listener_id=listener.id,
|
1336
1467
|
operating_status=constants.ONLINE, project_id=project_id,
|
1337
1468
|
id=uuidutils.generate_uuid())
|
1469
|
+
self.session.commit()
|
1338
1470
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
1339
1471
|
self.session,
|
1340
1472
|
data_models.L7Policy,
|
1341
1473
|
project_id))
|
1474
|
+
self.session.commit()
|
1342
1475
|
self.assertEqual(1, self.repos.quotas.get(
|
1343
1476
|
self.session, project_id=project_id).in_use_l7policy)
|
1344
1477
|
|
@@ -1347,20 +1480,24 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1347
1480
|
conf.config(group='quotas', default_l7policy_quota=10)
|
1348
1481
|
quota = {'l7policy': 0}
|
1349
1482
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
1483
|
+
self.session.commit()
|
1350
1484
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
1351
1485
|
self.session,
|
1352
1486
|
data_models.L7Policy,
|
1353
1487
|
project_id))
|
1488
|
+
self.session.commit()
|
1354
1489
|
|
1355
1490
|
# Test pre-existing quota with quota of one
|
1356
1491
|
project_id = uuidutils.generate_uuid()
|
1357
1492
|
conf.config(group='quotas', default_l7policy_quota=0)
|
1358
1493
|
quota = {'l7policy': 1}
|
1359
1494
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
1495
|
+
self.session.commit()
|
1360
1496
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
1361
1497
|
self.session,
|
1362
1498
|
data_models.L7Policy,
|
1363
1499
|
project_id))
|
1500
|
+
self.session.commit()
|
1364
1501
|
self.assertEqual(1, self.repos.quotas.get(
|
1365
1502
|
self.session, project_id=project_id).in_use_l7policy)
|
1366
1503
|
# Test above project is now at quota
|
@@ -1368,6 +1505,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1368
1505
|
self.session,
|
1369
1506
|
data_models.L7Policy,
|
1370
1507
|
project_id))
|
1508
|
+
self.session.commit()
|
1371
1509
|
self.assertEqual(1, self.repos.quotas.get(
|
1372
1510
|
self.session, project_id=project_id).in_use_l7policy)
|
1373
1511
|
|
@@ -1376,10 +1514,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1376
1514
|
conf.config(group='quotas', default_l7policy_quota=0)
|
1377
1515
|
quota = {'l7policy': constants.QUOTA_UNLIMITED}
|
1378
1516
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
1517
|
+
self.session.commit()
|
1379
1518
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
1380
1519
|
self.session,
|
1381
1520
|
data_models.L7Policy,
|
1382
1521
|
project_id))
|
1522
|
+
self.session.commit()
|
1383
1523
|
self.assertEqual(1, self.repos.quotas.get(
|
1384
1524
|
self.session, project_id=project_id).in_use_l7policy)
|
1385
1525
|
# Test above project adding another l7policy
|
@@ -1387,6 +1527,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1387
1527
|
self.session,
|
1388
1528
|
data_models.L7Policy,
|
1389
1529
|
project_id))
|
1530
|
+
self.session.commit()
|
1390
1531
|
self.assertEqual(2, self.repos.quotas.get(
|
1391
1532
|
self.session, project_id=project_id).in_use_l7policy)
|
1392
1533
|
|
@@ -1398,6 +1539,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1398
1539
|
self.session,
|
1399
1540
|
data_models.L7Rule,
|
1400
1541
|
project_id))
|
1542
|
+
self.session.commit()
|
1401
1543
|
self.assertIsNone(self.repos.quotas.get(
|
1402
1544
|
self.session, project_id=project_id).in_use_l7rule)
|
1403
1545
|
|
@@ -1408,6 +1550,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1408
1550
|
self.session,
|
1409
1551
|
data_models.L7Rule,
|
1410
1552
|
project_id))
|
1553
|
+
self.session.commit()
|
1411
1554
|
self.assertEqual(1, self.repos.quotas.get(
|
1412
1555
|
self.session, project_id=project_id).in_use_l7rule)
|
1413
1556
|
# Test above project is now at quota
|
@@ -1415,6 +1558,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1415
1558
|
self.session,
|
1416
1559
|
data_models.L7Rule,
|
1417
1560
|
project_id))
|
1561
|
+
self.session.commit()
|
1418
1562
|
self.assertEqual(1, self.repos.quotas.get(
|
1419
1563
|
self.session, project_id=project_id).in_use_l7rule)
|
1420
1564
|
|
@@ -1426,6 +1570,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1426
1570
|
self.session,
|
1427
1571
|
data_models.L7Rule,
|
1428
1572
|
project_id))
|
1573
|
+
self.session.commit()
|
1429
1574
|
self.assertEqual(1, self.repos.quotas.get(
|
1430
1575
|
self.session, project_id=project_id).in_use_l7rule)
|
1431
1576
|
# Test above project adding another l7rule
|
@@ -1433,6 +1578,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1433
1578
|
self.session,
|
1434
1579
|
data_models.L7Rule,
|
1435
1580
|
project_id))
|
1581
|
+
self.session.commit()
|
1436
1582
|
self.assertEqual(2, self.repos.quotas.get(
|
1437
1583
|
self.session, project_id=project_id).in_use_l7rule)
|
1438
1584
|
|
@@ -1446,27 +1592,33 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1446
1592
|
provisioning_status=constants.ACTIVE,
|
1447
1593
|
operating_status=constants.ONLINE,
|
1448
1594
|
enabled=True)
|
1595
|
+
self.session.commit()
|
1449
1596
|
listener = self.repos.listener.create(
|
1450
|
-
self.session,
|
1597
|
+
self.session, id=uuidutils.generate_uuid(),
|
1598
|
+
protocol=constants.PROTOCOL_HTTP, protocol_port=80,
|
1451
1599
|
enabled=True, provisioning_status=constants.ACTIVE,
|
1452
1600
|
operating_status=constants.ONLINE, project_id=project_id,
|
1453
1601
|
load_balancer_id=lb.id)
|
1602
|
+
self.session.commit()
|
1454
1603
|
l7policy = self.repos.l7policy.create(
|
1455
1604
|
self.session, name='l7policy', enabled=True, position=1,
|
1456
1605
|
action=constants.L7POLICY_ACTION_REJECT,
|
1457
1606
|
provisioning_status=constants.ACTIVE, listener_id=listener.id,
|
1458
1607
|
operating_status=constants.ONLINE, project_id=project_id,
|
1459
1608
|
id=uuidutils.generate_uuid())
|
1609
|
+
self.session.commit()
|
1460
1610
|
self.repos.l7rule.create(
|
1461
1611
|
self.session, id=uuidutils.generate_uuid(),
|
1462
1612
|
l7policy_id=l7policy.id, type=constants.L7RULE_TYPE_HOST_NAME,
|
1463
1613
|
compare_type=constants.L7RULE_COMPARE_TYPE_EQUAL_TO, enabled=True,
|
1464
1614
|
provisioning_status=constants.ACTIVE, value='hostname',
|
1465
1615
|
operating_status=constants.ONLINE, project_id=project_id)
|
1616
|
+
self.session.commit()
|
1466
1617
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
1467
1618
|
self.session,
|
1468
1619
|
data_models.L7Rule,
|
1469
1620
|
project_id))
|
1621
|
+
self.session.commit()
|
1470
1622
|
|
1471
1623
|
# Test upgrade case with pre-quota deleted l7rule
|
1472
1624
|
project_id = uuidutils.generate_uuid()
|
@@ -1478,27 +1630,33 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1478
1630
|
provisioning_status=constants.ACTIVE,
|
1479
1631
|
operating_status=constants.ONLINE,
|
1480
1632
|
enabled=True)
|
1633
|
+
self.session.commit()
|
1481
1634
|
listener = self.repos.listener.create(
|
1482
|
-
self.session,
|
1635
|
+
self.session, id=uuidutils.generate_uuid(),
|
1636
|
+
protocol=constants.PROTOCOL_HTTP, protocol_port=80,
|
1483
1637
|
enabled=True, provisioning_status=constants.ACTIVE,
|
1484
1638
|
operating_status=constants.ONLINE, project_id=project_id,
|
1485
1639
|
load_balancer_id=lb.id)
|
1640
|
+
self.session.commit()
|
1486
1641
|
l7policy = self.repos.l7policy.create(
|
1487
1642
|
self.session, name='l7policy', enabled=True, position=1,
|
1488
1643
|
action=constants.L7POLICY_ACTION_REJECT,
|
1489
1644
|
provisioning_status=constants.ACTIVE, listener_id=listener.id,
|
1490
1645
|
operating_status=constants.ONLINE, project_id=project_id,
|
1491
1646
|
id=uuidutils.generate_uuid())
|
1647
|
+
self.session.commit()
|
1492
1648
|
self.repos.l7rule.create(
|
1493
1649
|
self.session, id=uuidutils.generate_uuid(),
|
1494
1650
|
l7policy_id=l7policy.id, type=constants.L7RULE_TYPE_HOST_NAME,
|
1495
1651
|
compare_type=constants.L7RULE_COMPARE_TYPE_EQUAL_TO, enabled=True,
|
1496
1652
|
provisioning_status=constants.DELETED, value='hostname',
|
1497
1653
|
operating_status=constants.ONLINE, project_id=project_id)
|
1654
|
+
self.session.commit()
|
1498
1655
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
1499
1656
|
self.session,
|
1500
1657
|
data_models.L7Rule,
|
1501
1658
|
project_id))
|
1659
|
+
self.session.commit()
|
1502
1660
|
self.assertEqual(1, self.repos.quotas.get(
|
1503
1661
|
self.session, project_id=project_id).in_use_l7rule)
|
1504
1662
|
|
@@ -1507,20 +1665,24 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1507
1665
|
conf.config(group='quotas', default_l7rule_quota=10)
|
1508
1666
|
quota = {'l7rule': 0}
|
1509
1667
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
1668
|
+
self.session.commit()
|
1510
1669
|
self.assertTrue(self.repos.check_quota_met(self.session,
|
1511
1670
|
self.session,
|
1512
1671
|
data_models.L7Rule,
|
1513
1672
|
project_id))
|
1673
|
+
self.session.commit()
|
1514
1674
|
|
1515
1675
|
# Test pre-existing quota with quota of one
|
1516
1676
|
project_id = uuidutils.generate_uuid()
|
1517
1677
|
conf.config(group='quotas', default_l7rule_quota=0)
|
1518
1678
|
quota = {'l7rule': 1}
|
1519
1679
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
1680
|
+
self.session.commit()
|
1520
1681
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
1521
1682
|
self.session,
|
1522
1683
|
data_models.L7Rule,
|
1523
1684
|
project_id))
|
1685
|
+
self.session.commit()
|
1524
1686
|
self.assertEqual(1, self.repos.quotas.get(
|
1525
1687
|
self.session, project_id=project_id).in_use_l7rule)
|
1526
1688
|
# Test above project is now at quota
|
@@ -1528,6 +1690,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1528
1690
|
self.session,
|
1529
1691
|
data_models.L7Rule,
|
1530
1692
|
project_id))
|
1693
|
+
self.session.commit()
|
1531
1694
|
self.assertEqual(1, self.repos.quotas.get(
|
1532
1695
|
self.session, project_id=project_id).in_use_l7rule)
|
1533
1696
|
|
@@ -1536,10 +1699,12 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1536
1699
|
conf.config(group='quotas', default_l7rule_quota=0)
|
1537
1700
|
quota = {'l7rule': constants.QUOTA_UNLIMITED}
|
1538
1701
|
self.repos.quotas.update(self.session, project_id, quota=quota)
|
1702
|
+
self.session.commit()
|
1539
1703
|
self.assertFalse(self.repos.check_quota_met(self.session,
|
1540
1704
|
self.session,
|
1541
1705
|
data_models.L7Rule,
|
1542
1706
|
project_id))
|
1707
|
+
self.session.commit()
|
1543
1708
|
self.assertEqual(1, self.repos.quotas.get(
|
1544
1709
|
self.session, project_id=project_id).in_use_l7rule)
|
1545
1710
|
# Test above project adding another l7rule
|
@@ -1547,6 +1712,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
|
|
1547
1712
|
self.session,
|
1548
1713
|
data_models.L7Rule,
|
1549
1714
|
project_id))
|
1715
|
+
self.session.commit()
|
1550
1716
|
self.assertEqual(2, self.repos.quotas.get(
|
1551
1717
|
self.session, project_id=project_id).in_use_l7rule)
|
1552
1718
|
|
@@ -1952,6 +2118,7 @@ class PoolRepositoryTest(BaseRepositoryTest):
|
|
1952
2118
|
lb_algorithm=constants.LB_ALGORITHM_ROUND_ROBIN,
|
1953
2119
|
provisioning_status=constants.ACTIVE,
|
1954
2120
|
operating_status=constants.ONLINE, enabled=True, tags=['test_tag'])
|
2121
|
+
self.session.commit()
|
1955
2122
|
return pool
|
1956
2123
|
|
1957
2124
|
def test_get(self):
|
@@ -1959,7 +2126,8 @@ class PoolRepositoryTest(BaseRepositoryTest):
|
|
1959
2126
|
project_id=self.FAKE_UUID_2)
|
1960
2127
|
new_pool = self.pool_repo.get(self.session, id=pool.id)
|
1961
2128
|
self.assertIsInstance(new_pool, data_models.Pool)
|
1962
|
-
self.assertEqual(pool, new_pool)
|
2129
|
+
self.assertEqual(pool.id, new_pool.id)
|
2130
|
+
self.assertEqual(pool.project_id, new_pool.project_id)
|
1963
2131
|
|
1964
2132
|
def test_get_all(self):
|
1965
2133
|
pool_one = self.create_pool(pool_id=self.FAKE_UUID_1,
|
@@ -1970,8 +2138,10 @@ class PoolRepositoryTest(BaseRepositoryTest):
|
|
1970
2138
|
project_id=self.FAKE_UUID_2)
|
1971
2139
|
self.assertIsInstance(pool_list, list)
|
1972
2140
|
self.assertEqual(2, len(pool_list))
|
1973
|
-
self.assertEqual(pool_one, pool_list[0])
|
1974
|
-
self.assertEqual(
|
2141
|
+
self.assertEqual(pool_one.id, pool_list[0].id)
|
2142
|
+
self.assertEqual(pool_one.project_id, pool_list[0].project_id)
|
2143
|
+
self.assertEqual(pool_two.id, pool_list[1].id)
|
2144
|
+
self.assertEqual(pool_two.project_id, pool_list[1].project_id)
|
1975
2145
|
|
1976
2146
|
def test_create(self):
|
1977
2147
|
pool = self.create_pool(pool_id=self.FAKE_UUID_1,
|
@@ -1989,6 +2159,7 @@ class PoolRepositoryTest(BaseRepositoryTest):
|
|
1989
2159
|
project_id=self.FAKE_UUID_2)
|
1990
2160
|
self.pool_repo.update(self.session, pool.id,
|
1991
2161
|
description="other_pool_description")
|
2162
|
+
self.session.commit()
|
1992
2163
|
new_pool = self.pool_repo.get(self.session, id=self.FAKE_UUID_1)
|
1993
2164
|
self.assertEqual("other_pool_description", new_pool.description)
|
1994
2165
|
|
@@ -1996,6 +2167,7 @@ class PoolRepositoryTest(BaseRepositoryTest):
|
|
1996
2167
|
pool = self.create_pool(pool_id=self.FAKE_UUID_1,
|
1997
2168
|
project_id=self.FAKE_UUID_2)
|
1998
2169
|
self.pool_repo.delete(self.session, id=pool.id)
|
2170
|
+
self.session.commit()
|
1999
2171
|
self.assertIsNone(self.pool_repo.get(self.session, id=pool.id))
|
2000
2172
|
|
2001
2173
|
def test_delete_with_member(self):
|
@@ -2009,26 +2181,37 @@ class PoolRepositoryTest(BaseRepositoryTest):
|
|
2009
2181
|
provisioning_status=constants.ACTIVE,
|
2010
2182
|
operating_status=constants.ONLINE,
|
2011
2183
|
backup=False)
|
2184
|
+
self.session.commit()
|
2012
2185
|
new_pool = self.pool_repo.get(self.session, id=pool.id)
|
2013
2186
|
self.assertEqual(1, len(new_pool.members))
|
2014
|
-
self.assertEqual(member, new_pool.members[0])
|
2187
|
+
self.assertEqual(member.id, new_pool.members[0].id)
|
2188
|
+
self.assertEqual(member.ip_address, new_pool.members[0].ip_address)
|
2015
2189
|
self.pool_repo.delete(self.session, id=pool.id)
|
2190
|
+
self.session.commit()
|
2016
2191
|
self.assertIsNone(self.pool_repo.get(self.session, id=pool.id))
|
2017
2192
|
self.assertIsNone(self.member_repo.get(self.session, id=member.id))
|
2018
2193
|
|
2019
2194
|
def test_delete_with_health_monitor(self):
|
2020
2195
|
pool = self.create_pool(pool_id=self.FAKE_UUID_1,
|
2021
2196
|
project_id=self.FAKE_UUID_2)
|
2022
|
-
hm = self.hm_repo.create(self.session,
|
2197
|
+
hm = self.hm_repo.create(self.session, id=uuidutils.generate_uuid(),
|
2198
|
+
pool_id=pool.id,
|
2023
2199
|
type=constants.HEALTH_MONITOR_HTTP,
|
2024
2200
|
delay=1, timeout=1, fall_threshold=1,
|
2025
2201
|
rise_threshold=1, enabled=True,
|
2026
2202
|
provisioning_status=constants.ACTIVE,
|
2027
2203
|
operating_status=constants.ONLINE)
|
2204
|
+
self.session.commit()
|
2028
2205
|
new_pool = self.pool_repo.get(self.session, id=pool.id)
|
2029
|
-
self.assertEqual(pool, new_pool)
|
2030
|
-
self.assertEqual(
|
2206
|
+
self.assertEqual(pool.id, new_pool.id)
|
2207
|
+
self.assertEqual(pool.name, new_pool.name)
|
2208
|
+
self.assertEqual(pool.project_id, new_pool.project_id)
|
2209
|
+
self.assertEqual(hm.id, new_pool.health_monitor.id)
|
2210
|
+
self.assertEqual(hm.name, new_pool.health_monitor.name)
|
2211
|
+
self.assertEqual(hm.type, new_pool.health_monitor.type)
|
2212
|
+
self.assertEqual(hm.pool_id, new_pool.health_monitor.pool_id)
|
2031
2213
|
self.pool_repo.delete(self.session, id=pool.id)
|
2214
|
+
self.session.commit()
|
2032
2215
|
self.assertIsNone(self.pool_repo.get(self.session, id=pool.id))
|
2033
2216
|
self.assertIsNone(self.hm_repo.get(self.session, pool_id=hm.pool_id))
|
2034
2217
|
|
@@ -2039,17 +2222,22 @@ class PoolRepositoryTest(BaseRepositoryTest):
|
|
2039
2222
|
self.session, pool_id=pool.id,
|
2040
2223
|
type=constants.SESSION_PERSISTENCE_HTTP_COOKIE,
|
2041
2224
|
cookie_name="cookie_name")
|
2225
|
+
self.session.commit()
|
2042
2226
|
new_pool = self.pool_repo.get(self.session, id=pool.id)
|
2043
|
-
self.assertEqual(pool, new_pool)
|
2044
|
-
self.assertEqual(
|
2227
|
+
self.assertEqual(pool.id, new_pool.id)
|
2228
|
+
self.assertEqual(pool.project_id, new_pool.project_id)
|
2229
|
+
self.assertEqual(sp.pool_id, new_pool.session_persistence.pool_id)
|
2045
2230
|
self.pool_repo.delete(self.session, id=new_pool.id)
|
2231
|
+
self.session.commit()
|
2046
2232
|
self.assertIsNone(self.pool_repo.get(self.session, id=pool.id))
|
2047
2233
|
self.assertIsNone(self.sp_repo.get(self.session, pool_id=sp.pool_id))
|
2048
2234
|
|
2049
2235
|
def test_delete_with_all_children(self):
|
2050
2236
|
pool = self.create_pool(pool_id=self.FAKE_UUID_1,
|
2051
2237
|
project_id=self.FAKE_UUID_2)
|
2052
|
-
hm = self.hm_repo.create(self.session,
|
2238
|
+
hm = self.hm_repo.create(self.session,
|
2239
|
+
id=uuidutils.generate_uuid(),
|
2240
|
+
pool_id=pool.id,
|
2053
2241
|
type=constants.HEALTH_MONITOR_HTTP,
|
2054
2242
|
delay=1, timeout=1, fall_threshold=1,
|
2055
2243
|
rise_threshold=1, enabled=True,
|
@@ -2068,14 +2256,22 @@ class PoolRepositoryTest(BaseRepositoryTest):
|
|
2068
2256
|
self.session, pool_id=pool.id,
|
2069
2257
|
type=constants.SESSION_PERSISTENCE_HTTP_COOKIE,
|
2070
2258
|
cookie_name="cookie_name")
|
2259
|
+
self.session.commit()
|
2071
2260
|
new_pool = self.pool_repo.get(self.session, id=pool.id)
|
2072
|
-
self.assertEqual(pool, new_pool)
|
2261
|
+
self.assertEqual(pool.id, new_pool.id)
|
2262
|
+
self.assertEqual(pool.project_id, new_pool.project_id)
|
2073
2263
|
self.assertEqual(1, len(new_pool.members))
|
2074
2264
|
new_member = self.member_repo.get(self.session, id=member.id)
|
2075
|
-
self.assertEqual(new_member, new_pool.members[0])
|
2076
|
-
self.assertEqual(
|
2077
|
-
self.assertEqual(
|
2265
|
+
self.assertEqual(new_member.id, new_pool.members[0].id)
|
2266
|
+
self.assertEqual(new_member.pool_id, new_pool.members[0].pool_id)
|
2267
|
+
self.assertEqual(new_member.ip_address, new_pool.members[0].ip_address)
|
2268
|
+
self.assertEqual(hm.id, new_pool.health_monitor.id)
|
2269
|
+
self.assertEqual(hm.type, new_pool.health_monitor.type)
|
2270
|
+
self.assertEqual(hm.pool_id, new_pool.health_monitor.pool_id)
|
2271
|
+
self.assertEqual(sp.type, new_pool.session_persistence.type)
|
2272
|
+
self.assertEqual(sp.pool_id, new_pool.session_persistence.pool_id)
|
2078
2273
|
self.pool_repo.delete(self.session, id=pool.id)
|
2274
|
+
self.session.commit()
|
2079
2275
|
self.assertIsNone(self.pool_repo.get(self.session, id=pool.id))
|
2080
2276
|
self.assertIsNone(self.member_repo.get(self.session, id=member.id))
|
2081
2277
|
self.assertIsNone(self.hm_repo.get(self.session, pool_id=hm.pool_id))
|
@@ -2095,6 +2291,7 @@ class PoolRepositoryTest(BaseRepositoryTest):
|
|
2095
2291
|
rise_threshold=1, enabled=True,
|
2096
2292
|
provisioning_status=constants.ACTIVE,
|
2097
2293
|
operating_status=constants.ONLINE)
|
2294
|
+
self.session.commit()
|
2098
2295
|
|
2099
2296
|
hm_count, member_count = (
|
2100
2297
|
self.pool_repo.get_children_count(self.session, pool.id))
|
@@ -2119,6 +2316,7 @@ class PoolRepositoryTest(BaseRepositoryTest):
|
|
2119
2316
|
operating_status=constants.ONLINE,
|
2120
2317
|
enabled=True,
|
2121
2318
|
backup=False)
|
2319
|
+
self.session.commit()
|
2122
2320
|
|
2123
2321
|
hm_count, member_count = (
|
2124
2322
|
self.pool_repo.get_children_count(self.session, pool.id))
|
@@ -2137,6 +2335,7 @@ class MemberRepositoryTest(BaseRepositoryTest):
|
|
2137
2335
|
lb_algorithm=constants.LB_ALGORITHM_ROUND_ROBIN,
|
2138
2336
|
provisioning_status=constants.ACTIVE,
|
2139
2337
|
operating_status=constants.ONLINE, enabled=True, tags=['test_tag'])
|
2338
|
+
self.session.commit()
|
2140
2339
|
|
2141
2340
|
def create_member(self, member_id, project_id, pool_id, ip_address):
|
2142
2341
|
member = self.member_repo.create(self.session, id=member_id,
|
@@ -2148,6 +2347,7 @@ class MemberRepositoryTest(BaseRepositoryTest):
|
|
2148
2347
|
provisioning_status=constants.ACTIVE,
|
2149
2348
|
enabled=True,
|
2150
2349
|
backup=False)
|
2350
|
+
self.session.commit()
|
2151
2351
|
return member
|
2152
2352
|
|
2153
2353
|
def test_get(self):
|
@@ -2155,7 +2355,9 @@ class MemberRepositoryTest(BaseRepositoryTest):
|
|
2155
2355
|
self.pool.id, "192.0.2.1")
|
2156
2356
|
new_member = self.member_repo.get(self.session, id=member.id)
|
2157
2357
|
self.assertIsInstance(new_member, data_models.Member)
|
2158
|
-
self.assertEqual(member, new_member)
|
2358
|
+
self.assertEqual(member.id, new_member.id)
|
2359
|
+
self.assertEqual(member.pool_id, new_member.pool_id)
|
2360
|
+
self.assertEqual(member.ip_address, new_member.ip_address)
|
2159
2361
|
|
2160
2362
|
def test_get_all(self):
|
2161
2363
|
member_one = self.create_member(self.FAKE_UUID_1, self.FAKE_UUID_2,
|
@@ -2166,8 +2368,12 @@ class MemberRepositoryTest(BaseRepositoryTest):
|
|
2166
2368
|
project_id=self.FAKE_UUID_2)
|
2167
2369
|
self.assertIsInstance(member_list, list)
|
2168
2370
|
self.assertEqual(2, len(member_list))
|
2169
|
-
self.assertEqual(member_one, member_list[0])
|
2170
|
-
self.assertEqual(
|
2371
|
+
self.assertEqual(member_one.id, member_list[0].id)
|
2372
|
+
self.assertEqual(member_one.pool_id, member_list[0].pool_id)
|
2373
|
+
self.assertEqual(member_one.ip_address, member_list[0].ip_address)
|
2374
|
+
self.assertEqual(member_two.id, member_list[1].id)
|
2375
|
+
self.assertEqual(member_two.pool_id, member_list[1].pool_id)
|
2376
|
+
self.assertEqual(member_two.ip_address, member_list[1].ip_address)
|
2171
2377
|
|
2172
2378
|
def test_create(self):
|
2173
2379
|
member = self.create_member(self.FAKE_UUID_1, self.FAKE_UUID_2,
|
@@ -2187,6 +2393,7 @@ class MemberRepositoryTest(BaseRepositoryTest):
|
|
2187
2393
|
self.pool.id, "192.0.2.1")
|
2188
2394
|
self.member_repo.update(self.session, id=member.id,
|
2189
2395
|
ip_address=ip_address_change)
|
2396
|
+
self.session.commit()
|
2190
2397
|
new_member = self.member_repo.get(self.session, id=member.id)
|
2191
2398
|
self.assertEqual(ip_address_change, new_member.ip_address)
|
2192
2399
|
|
@@ -2194,6 +2401,7 @@ class MemberRepositoryTest(BaseRepositoryTest):
|
|
2194
2401
|
member = self.create_member(self.FAKE_UUID_1, self.FAKE_UUID_2,
|
2195
2402
|
self.pool.id, "192.0.2.1")
|
2196
2403
|
self.member_repo.delete(self.session, id=member.id)
|
2404
|
+
self.session.commit()
|
2197
2405
|
self.assertIsNone(self.member_repo.get(self.session, id=member.id))
|
2198
2406
|
new_pool = self.pool_repo.get(self.session, id=self.pool.id)
|
2199
2407
|
self.assertIsNotNone(new_pool)
|
@@ -2208,6 +2416,7 @@ class MemberRepositoryTest(BaseRepositoryTest):
|
|
2208
2416
|
self.session,
|
2209
2417
|
pool_id=self.pool.id,
|
2210
2418
|
operating_status=constants.OFFLINE)
|
2419
|
+
self.session.commit()
|
2211
2420
|
new_member1 = self.member_repo.get(self.session, id=member1.id)
|
2212
2421
|
new_member2 = self.member_repo.get(self.session, id=member2.id)
|
2213
2422
|
self.assertEqual(constants.OFFLINE, new_member1.operating_status)
|
@@ -2275,6 +2484,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2275
2484
|
provisioning_status=constants.ACTIVE,
|
2276
2485
|
operating_status=constants.ONLINE, enabled=True,
|
2277
2486
|
server_group_id=self.FAKE_UUID_1)
|
2487
|
+
self.session.commit()
|
2278
2488
|
|
2279
2489
|
def create_listener(self, listener_id, port, default_pool_id=None,
|
2280
2490
|
provisioning_status=constants.ACTIVE):
|
@@ -2286,6 +2496,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2286
2496
|
default_pool_id=default_pool_id, operating_status=constants.ONLINE,
|
2287
2497
|
provisioning_status=provisioning_status, enabled=True,
|
2288
2498
|
peer_port=1025, tags=['test_tag'])
|
2499
|
+
self.session.commit()
|
2289
2500
|
return listener
|
2290
2501
|
|
2291
2502
|
def create_amphora(self, amphora_id, loadbalancer_id):
|
@@ -2295,6 +2506,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2295
2506
|
status=constants.ACTIVE,
|
2296
2507
|
vrrp_ip=self.FAKE_IP,
|
2297
2508
|
lb_network_ip=self.FAKE_IP)
|
2509
|
+
self.session.commit()
|
2298
2510
|
return amphora
|
2299
2511
|
|
2300
2512
|
def create_loadbalancer(self, lb_id):
|
@@ -2304,13 +2516,17 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2304
2516
|
provisioning_status=constants.ACTIVE,
|
2305
2517
|
operating_status=constants.ONLINE,
|
2306
2518
|
enabled=True)
|
2519
|
+
self.session.commit()
|
2307
2520
|
return lb
|
2308
2521
|
|
2309
2522
|
def test_get(self):
|
2310
2523
|
listener = self.create_listener(self.FAKE_UUID_1, 80)
|
2311
2524
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2312
2525
|
self.assertIsInstance(new_listener, data_models.Listener)
|
2313
|
-
self.assertEqual(listener, new_listener)
|
2526
|
+
self.assertEqual(listener.id, new_listener.id)
|
2527
|
+
self.assertEqual(listener.name, new_listener.name)
|
2528
|
+
self.assertEqual(listener.protocol, new_listener.protocol)
|
2529
|
+
self.assertEqual(listener.protocol_port, new_listener.protocol_port)
|
2314
2530
|
|
2315
2531
|
def test_get_all(self):
|
2316
2532
|
listener_one = self.create_listener(self.FAKE_UUID_1, 80)
|
@@ -2319,8 +2535,8 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2319
2535
|
self.session, project_id=self.FAKE_UUID_2)
|
2320
2536
|
self.assertIsInstance(listener_list, list)
|
2321
2537
|
self.assertEqual(2, len(listener_list))
|
2322
|
-
self.assertEqual(listener_one, listener_list[0])
|
2323
|
-
self.assertEqual(listener_two, listener_list[1])
|
2538
|
+
self.assertEqual(listener_one.id, listener_list[0].id)
|
2539
|
+
self.assertEqual(listener_two.id, listener_list[1].id)
|
2324
2540
|
|
2325
2541
|
def test_create(self):
|
2326
2542
|
listener = self.create_listener(self.FAKE_UUID_1, 80)
|
@@ -2345,6 +2561,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2345
2561
|
load_balancer_id=lb.id, protocol=constants.PROTOCOL_HTTP,
|
2346
2562
|
protocol_port=80, provisioning_status=constants.ACTIVE,
|
2347
2563
|
operating_status=constants.ONLINE, enabled=True)
|
2564
|
+
self.session.commit()
|
2348
2565
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2349
2566
|
self.assertEqual(1025, new_listener.peer_port)
|
2350
2567
|
|
@@ -2356,12 +2573,14 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2356
2573
|
load_balancer_id=lb.id, protocol=constants.PROTOCOL_HTTP,
|
2357
2574
|
protocol_port=80, provisioning_status=constants.ACTIVE,
|
2358
2575
|
operating_status=constants.ONLINE, enabled=True)
|
2576
|
+
self.session.commit()
|
2359
2577
|
listener_b = self.listener_repo.create(
|
2360
2578
|
self.session, id=uuidutils.generate_uuid(),
|
2361
2579
|
project_id=self.FAKE_UUID_2,
|
2362
2580
|
load_balancer_id=lb.id, protocol=constants.PROTOCOL_HTTP,
|
2363
2581
|
protocol_port=81, provisioning_status=constants.ACTIVE,
|
2364
2582
|
operating_status=constants.ONLINE, enabled=True)
|
2583
|
+
self.session.commit()
|
2365
2584
|
new_listener_a = self.listener_repo.get(self.session, id=listener_a.id)
|
2366
2585
|
new_listener_b = self.listener_repo.get(self.session, id=listener_b.id)
|
2367
2586
|
self.assertEqual(1025, new_listener_a.peer_port)
|
@@ -2373,6 +2592,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2373
2592
|
name="lb_name2", description="lb_description2",
|
2374
2593
|
provisioning_status=constants.ACTIVE,
|
2375
2594
|
operating_status=constants.ONLINE, enabled=True)
|
2595
|
+
self.session.commit()
|
2376
2596
|
pool = self.pool_repo.create(
|
2377
2597
|
self.session, id=self.FAKE_UUID_4, project_id=self.FAKE_UUID_2,
|
2378
2598
|
name="pool_test", description="pool_description",
|
@@ -2381,6 +2601,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2381
2601
|
provisioning_status=constants.ACTIVE,
|
2382
2602
|
operating_status=constants.ONLINE, enabled=True,
|
2383
2603
|
load_balancer_id=load_balancer2.id)
|
2604
|
+
self.session.commit()
|
2384
2605
|
self.assertRaises(exceptions.NotFound, self.create_listener,
|
2385
2606
|
self.FAKE_UUID_1, 80, default_pool_id=pool.id)
|
2386
2607
|
|
@@ -2394,6 +2615,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2394
2615
|
container2_dm = data_models.SNI(**container2)
|
2395
2616
|
self.sni_repo.create(self.session, **container1)
|
2396
2617
|
self.sni_repo.create(self.session, **container2)
|
2618
|
+
self.session.commit()
|
2397
2619
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2398
2620
|
self.assertIn(container1_dm, new_listener.sni_containers)
|
2399
2621
|
self.assertIn(container2_dm, new_listener.sni_containers)
|
@@ -2401,8 +2623,10 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2401
2623
|
def test_update(self):
|
2402
2624
|
name_change = "new_listener_name"
|
2403
2625
|
listener = self.create_listener(self.FAKE_UUID_1, 80)
|
2626
|
+
self.session.commit()
|
2404
2627
|
self.listener_repo.update(self.session, listener.id,
|
2405
2628
|
name=name_change)
|
2629
|
+
self.session.commit()
|
2406
2630
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2407
2631
|
self.assertEqual(name_change, new_listener.name)
|
2408
2632
|
|
@@ -2413,6 +2637,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2413
2637
|
container1_dm = data_models.SNI(**container1)
|
2414
2638
|
self.listener_repo.update(self.session, listener.id,
|
2415
2639
|
sni_containers=[self.FAKE_UUID_2])
|
2640
|
+
self.session.commit()
|
2416
2641
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2417
2642
|
self.assertIn(container1_dm, new_listener.sni_containers)
|
2418
2643
|
|
@@ -2429,10 +2654,12 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2429
2654
|
listener = self.create_listener(self.FAKE_UUID_1, 80)
|
2430
2655
|
sni = self.sni_repo.create(self.session, listener_id=listener.id,
|
2431
2656
|
tls_container_id=self.FAKE_UUID_3)
|
2657
|
+
self.session.commit()
|
2432
2658
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2433
2659
|
self.assertIsNotNone(new_listener)
|
2434
2660
|
self.assertEqual(sni, new_listener.sni_containers[0])
|
2435
2661
|
self.listener_repo.delete(self.session, id=new_listener.id)
|
2662
|
+
self.session.commit()
|
2436
2663
|
self.assertIsNone(self.listener_repo.get(self.session, id=listener.id))
|
2437
2664
|
self.assertIsNone(self.sni_repo.get(self.session,
|
2438
2665
|
listener_id=listener.id))
|
@@ -2445,11 +2672,13 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2445
2672
|
self.session, listener_id=listener.id, amphora_id=amphora.id,
|
2446
2673
|
bytes_in=1, bytes_out=1,
|
2447
2674
|
active_connections=1, total_connections=1, request_errors=1)
|
2675
|
+
self.session.commit()
|
2448
2676
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2449
2677
|
self.assertIsNotNone(new_listener)
|
2450
2678
|
self.assertIsNotNone(self.listener_stats_repo.get(
|
2451
2679
|
self.session, listener_id=listener.id))
|
2452
2680
|
self.listener_repo.delete(self.session, id=listener.id)
|
2681
|
+
self.session.commit()
|
2453
2682
|
self.assertIsNone(self.listener_repo.get(self.session, id=listener.id))
|
2454
2683
|
# ListenerStatistics should stick around
|
2455
2684
|
self.assertIsNotNone(self.listener_stats_repo.get(
|
@@ -2464,12 +2693,15 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2464
2693
|
provisioning_status=constants.ACTIVE,
|
2465
2694
|
operating_status=constants.ONLINE, enabled=True,
|
2466
2695
|
load_balancer_id=self.load_balancer.id)
|
2696
|
+
self.session.commit()
|
2467
2697
|
listener = self.create_listener(self.FAKE_UUID_1, 80,
|
2468
2698
|
default_pool_id=pool.id)
|
2699
|
+
pool = self.pool_repo.get(self.session, id=pool.id)
|
2469
2700
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2470
2701
|
self.assertIsNotNone(new_listener)
|
2471
2702
|
self.assertEqual(pool, new_listener.default_pool)
|
2472
2703
|
self.listener_repo.delete(self.session, id=new_listener.id)
|
2704
|
+
self.session.commit()
|
2473
2705
|
self.assertIsNone(self.listener_repo.get(self.session, id=listener.id))
|
2474
2706
|
# Pool should stick around
|
2475
2707
|
self.assertIsNotNone(self.pool_repo.get(self.session, id=pool.id))
|
@@ -2483,6 +2715,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2483
2715
|
provisioning_status=constants.ACTIVE,
|
2484
2716
|
operating_status=constants.ONLINE, enabled=True,
|
2485
2717
|
load_balancer_id=self.load_balancer.id)
|
2718
|
+
self.session.commit()
|
2486
2719
|
listener = self.create_listener(self.FAKE_UUID_1, 80,
|
2487
2720
|
default_pool_id=pool.id)
|
2488
2721
|
sni = self.sni_repo.create(self.session, listener_id=listener.id,
|
@@ -2494,11 +2727,14 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2494
2727
|
amphora_id=amphora.id,
|
2495
2728
|
bytes_in=1, bytes_out=1,
|
2496
2729
|
active_connections=1, total_connections=1, request_errors=1)
|
2730
|
+
self.session.commit()
|
2731
|
+
pool = self.pool_repo.get(self.session, id=pool.id)
|
2497
2732
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2498
2733
|
self.assertIsNotNone(new_listener)
|
2499
2734
|
self.assertEqual(pool, new_listener.default_pool)
|
2500
2735
|
self.assertEqual(sni, new_listener.sni_containers[0])
|
2501
2736
|
self.listener_repo.delete(self.session, id=listener.id)
|
2737
|
+
self.session.commit()
|
2502
2738
|
self.assertIsNone(self.listener_repo.get(self.session, id=listener.id))
|
2503
2739
|
self.assertIsNone(self.sni_repo.get(self.session,
|
2504
2740
|
listener_id=listener.id))
|
@@ -2517,12 +2753,17 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2517
2753
|
provisioning_status=constants.ACTIVE,
|
2518
2754
|
operating_status=constants.ONLINE, enabled=True,
|
2519
2755
|
load_balancer_id=self.load_balancer.id)
|
2756
|
+
self.session.commit()
|
2520
2757
|
listener = self.create_listener(self.FAKE_UUID_1, 80,
|
2521
2758
|
default_pool_id=pool.id)
|
2522
2759
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2523
2760
|
self.assertIsNotNone(new_listener)
|
2524
|
-
self.assertEqual(pool, new_listener.default_pool)
|
2761
|
+
self.assertEqual(pool.id, new_listener.default_pool.id)
|
2762
|
+
self.assertEqual(pool.load_balancer_id,
|
2763
|
+
new_listener.default_pool.load_balancer_id)
|
2764
|
+
self.assertEqual(pool.project_id, new_listener.default_pool.project_id)
|
2525
2765
|
self.pool_repo.delete(self.session, id=pool.id)
|
2766
|
+
self.session.commit()
|
2526
2767
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2527
2768
|
self.assertIsNone(new_listener.default_pool)
|
2528
2769
|
|
@@ -2531,6 +2772,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2531
2772
|
provisioning_status=constants.ACTIVE)
|
2532
2773
|
self.listener_repo.prov_status_active_if_not_error(self.session,
|
2533
2774
|
listener.id)
|
2775
|
+
self.session.commit()
|
2534
2776
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2535
2777
|
self.assertEqual(constants.ACTIVE, new_listener.provisioning_status)
|
2536
2778
|
|
@@ -2539,6 +2781,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2539
2781
|
provisioning_status=constants.ERROR)
|
2540
2782
|
self.listener_repo.prov_status_active_if_not_error(self.session,
|
2541
2783
|
listener.id)
|
2784
|
+
self.session.commit()
|
2542
2785
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2543
2786
|
self.assertEqual(constants.ERROR, new_listener.provisioning_status)
|
2544
2787
|
|
@@ -2547,6 +2790,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2547
2790
|
self.FAKE_UUID_1, 80, provisioning_status=constants.PENDING_UPDATE)
|
2548
2791
|
self.listener_repo.prov_status_active_if_not_error(self.session,
|
2549
2792
|
listener.id)
|
2793
|
+
self.session.commit()
|
2550
2794
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2551
2795
|
self.assertEqual(constants.ACTIVE, new_listener.provisioning_status)
|
2552
2796
|
|
@@ -2556,6 +2800,7 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
|
|
2556
2800
|
# Should not raise an exception nor change any status
|
2557
2801
|
self.listener_repo.prov_status_active_if_not_error(self.session,
|
2558
2802
|
'bogus_id')
|
2803
|
+
self.session.commit()
|
2559
2804
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
2560
2805
|
self.assertEqual(constants.PENDING_UPDATE,
|
2561
2806
|
new_listener.provisioning_status)
|
@@ -2586,12 +2831,14 @@ class ListenerStatisticsRepositoryTest(BaseRepositoryTest):
|
|
2586
2831
|
status=constants.ACTIVE,
|
2587
2832
|
vrrp_ip=self.FAKE_IP,
|
2588
2833
|
lb_network_ip=self.FAKE_IP)
|
2834
|
+
self.session.commit()
|
2589
2835
|
|
2590
2836
|
def create_listener_stats(self, listener_id, amphora_id):
|
2591
2837
|
stats = self.listener_stats_repo.create(
|
2592
2838
|
self.session, listener_id=listener_id, amphora_id=amphora_id,
|
2593
2839
|
bytes_in=1, bytes_out=1,
|
2594
2840
|
active_connections=1, total_connections=1, request_errors=1)
|
2841
|
+
self.session.commit()
|
2595
2842
|
return stats
|
2596
2843
|
|
2597
2844
|
def test_get(self):
|
@@ -2617,6 +2864,7 @@ class ListenerStatisticsRepositoryTest(BaseRepositoryTest):
|
|
2617
2864
|
stats = self.create_listener_stats(self.listener.id, self.amphora.id)
|
2618
2865
|
self.listener_stats_repo.update(self.session, stats.listener_id,
|
2619
2866
|
bytes_in=bytes_in_change)
|
2867
|
+
self.session.commit()
|
2620
2868
|
new_stats = self.listener_stats_repo.get(self.session,
|
2621
2869
|
listener_id=stats.listener_id)
|
2622
2870
|
self.assertIsInstance(new_stats, data_models.ListenerStatistics)
|
@@ -2626,6 +2874,7 @@ class ListenerStatisticsRepositoryTest(BaseRepositoryTest):
|
|
2626
2874
|
stats = self.create_listener_stats(self.listener.id, self.amphora.id)
|
2627
2875
|
self.listener_stats_repo.delete(self.session,
|
2628
2876
|
listener_id=stats.listener_id)
|
2877
|
+
self.session.commit()
|
2629
2878
|
self.assertIsNone(self.listener_stats_repo.get(
|
2630
2879
|
self.session, listener_id=stats.listener_id))
|
2631
2880
|
new_listener = self.listener_repo.get(self.session,
|
@@ -2652,6 +2901,7 @@ class ListenerStatisticsRepositoryTest(BaseRepositoryTest):
|
|
2652
2901
|
request_errors=request_errors
|
2653
2902
|
)
|
2654
2903
|
self.listener_stats_repo.replace(self.session, stats_obj)
|
2904
|
+
self.session.commit()
|
2655
2905
|
obj = self.listener_stats_repo.get(self.session,
|
2656
2906
|
listener_id=self.listener.id)
|
2657
2907
|
self.assertIsNotNone(obj)
|
@@ -2679,6 +2929,7 @@ class ListenerStatisticsRepositoryTest(BaseRepositoryTest):
|
|
2679
2929
|
request_errors=request_errors_2
|
2680
2930
|
)
|
2681
2931
|
self.listener_stats_repo.replace(self.session, stats_obj_2)
|
2932
|
+
self.session.commit()
|
2682
2933
|
obj = self.listener_stats_repo.get(self.session,
|
2683
2934
|
listener_id=self.listener.id)
|
2684
2935
|
self.assertIsNotNone(obj)
|
@@ -2700,6 +2951,7 @@ class ListenerStatisticsRepositoryTest(BaseRepositoryTest):
|
|
2700
2951
|
request_errors=request_errors
|
2701
2952
|
)
|
2702
2953
|
self.listener_stats_repo.replace(self.session, stats_obj)
|
2954
|
+
self.session.commit()
|
2703
2955
|
obj = self.listener_stats_repo.get(self.session,
|
2704
2956
|
listener_id=self.listener.id,
|
2705
2957
|
amphora_id=self.listener.id)
|
@@ -2731,6 +2983,7 @@ class ListenerStatisticsRepositoryTest(BaseRepositoryTest):
|
|
2731
2983
|
request_errors=request_errors
|
2732
2984
|
)
|
2733
2985
|
self.listener_stats_repo.increment(self.session, delta_stats)
|
2986
|
+
self.session.commit()
|
2734
2987
|
obj = self.listener_stats_repo.get(self.session,
|
2735
2988
|
listener_id=self.listener.id)
|
2736
2989
|
self.assertIsNotNone(obj)
|
@@ -2758,6 +3011,7 @@ class ListenerStatisticsRepositoryTest(BaseRepositoryTest):
|
|
2758
3011
|
request_errors=request_errors_2
|
2759
3012
|
)
|
2760
3013
|
self.listener_stats_repo.increment(self.session, delta_stats_2)
|
3014
|
+
self.session.commit()
|
2761
3015
|
obj = self.listener_stats_repo.get(self.session,
|
2762
3016
|
listener_id=self.listener.id)
|
2763
3017
|
self.assertIsNotNone(obj)
|
@@ -2779,6 +3033,7 @@ class ListenerStatisticsRepositoryTest(BaseRepositoryTest):
|
|
2779
3033
|
request_errors=request_errors
|
2780
3034
|
)
|
2781
3035
|
self.listener_stats_repo.increment(self.session, stats_obj)
|
3036
|
+
self.session.commit()
|
2782
3037
|
obj = self.listener_stats_repo.get(self.session,
|
2783
3038
|
listener_id=self.listener.id,
|
2784
3039
|
amphora_id=self.listener.id)
|
@@ -2810,6 +3065,7 @@ class HealthMonitorRepositoryTest(BaseRepositoryTest):
|
|
2810
3065
|
lb_algorithm=constants.LB_ALGORITHM_ROUND_ROBIN,
|
2811
3066
|
provisioning_status=constants.ACTIVE,
|
2812
3067
|
operating_status=constants.ONLINE, enabled=True)
|
3068
|
+
self.session.commit()
|
2813
3069
|
|
2814
3070
|
def create_health_monitor(self, hm_id, pool_id):
|
2815
3071
|
health_monitor = self.hm_repo.create(
|
@@ -2820,6 +3076,7 @@ class HealthMonitorRepositoryTest(BaseRepositoryTest):
|
|
2820
3076
|
provisioning_status=constants.ACTIVE,
|
2821
3077
|
operating_status=constants.ONLINE,
|
2822
3078
|
expected_codes="200", enabled=True, tags=['test_tag'])
|
3079
|
+
self.session.commit()
|
2823
3080
|
self.assertEqual(hm_id, health_monitor.id)
|
2824
3081
|
return health_monitor
|
2825
3082
|
|
@@ -2827,7 +3084,9 @@ class HealthMonitorRepositoryTest(BaseRepositoryTest):
|
|
2827
3084
|
hm = self.create_health_monitor(self.FAKE_UUID_3, self.pool.id)
|
2828
3085
|
new_hm = self.hm_repo.get(self.session, id=hm.id)
|
2829
3086
|
self.assertIsInstance(new_hm, data_models.HealthMonitor)
|
2830
|
-
self.assertEqual(hm, new_hm)
|
3087
|
+
self.assertEqual(hm.id, new_hm.id)
|
3088
|
+
self.assertEqual(hm.pool_id, new_hm.pool_id)
|
3089
|
+
self.assertEqual(hm.type, new_hm.type)
|
2831
3090
|
|
2832
3091
|
def test_create(self):
|
2833
3092
|
hm = self.create_health_monitor(self.FAKE_UUID_3, self.pool.id)
|
@@ -2848,12 +3107,14 @@ class HealthMonitorRepositoryTest(BaseRepositoryTest):
|
|
2848
3107
|
hm = self.create_health_monitor(self.FAKE_UUID_3, self.pool.id)
|
2849
3108
|
self.hm_repo.update(
|
2850
3109
|
self.session, hm.id, delay=delay_change)
|
3110
|
+
self.session.commit()
|
2851
3111
|
new_hm = self.hm_repo.get(self.session, id=hm.id)
|
2852
3112
|
self.assertEqual(delay_change, new_hm.delay)
|
2853
3113
|
|
2854
3114
|
def test_delete(self):
|
2855
3115
|
hm = self.create_health_monitor(self.FAKE_UUID_3, self.pool.id)
|
2856
3116
|
self.hm_repo.delete(self.session, id=hm.id)
|
3117
|
+
self.session.commit()
|
2857
3118
|
self.assertIsNone(self.hm_repo.get(self.session, id=hm.id))
|
2858
3119
|
new_pool = self.pool_repo.get(self.session, id=self.pool.id)
|
2859
3120
|
self.assertIsNotNone(new_pool)
|
@@ -2873,13 +3134,15 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
2873
3134
|
)
|
2874
3135
|
settings.update(**overrides)
|
2875
3136
|
lb = self.lb_repo.create(self.session, **settings)
|
3137
|
+
self.session.commit()
|
2876
3138
|
return lb
|
2877
3139
|
|
2878
3140
|
def test_get(self):
|
2879
3141
|
lb = self.create_loadbalancer(self.FAKE_UUID_1)
|
2880
3142
|
new_lb = self.lb_repo.get(self.session, id=lb.id)
|
2881
3143
|
self.assertIsInstance(new_lb, data_models.LoadBalancer)
|
2882
|
-
self.assertEqual(lb, new_lb)
|
3144
|
+
self.assertEqual(lb.id, new_lb.id)
|
3145
|
+
self.assertEqual(lb.project_id, new_lb.project_id)
|
2883
3146
|
|
2884
3147
|
def test_get_all(self):
|
2885
3148
|
lb_one = self.create_loadbalancer(self.FAKE_UUID_1)
|
@@ -2887,8 +3150,10 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
2887
3150
|
lb_list, _ = self.lb_repo.get_all(self.session,
|
2888
3151
|
project_id=self.FAKE_UUID_2)
|
2889
3152
|
self.assertEqual(2, len(lb_list))
|
2890
|
-
self.assertEqual(lb_one, lb_list[0])
|
2891
|
-
self.assertEqual(
|
3153
|
+
self.assertEqual(lb_one.id, lb_list[0].id)
|
3154
|
+
self.assertEqual(lb_one.project_id, lb_list[0].project_id)
|
3155
|
+
self.assertEqual(lb_two.id, lb_list[1].id)
|
3156
|
+
self.assertEqual(lb_two.project_id, lb_list[1].project_id)
|
2892
3157
|
|
2893
3158
|
def test_create(self):
|
2894
3159
|
lb = self.create_loadbalancer(self.FAKE_UUID_1)
|
@@ -2904,12 +3169,14 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
2904
3169
|
name_change = "load_balancer_name"
|
2905
3170
|
lb = self.create_loadbalancer(self.FAKE_UUID_1)
|
2906
3171
|
self.lb_repo.update(self.session, lb.id, name=name_change)
|
3172
|
+
self.session.commit()
|
2907
3173
|
new_lb = self.lb_repo.get(self.session, id=lb.id)
|
2908
3174
|
self.assertEqual(name_change, new_lb.name)
|
2909
3175
|
|
2910
3176
|
def test_delete(self):
|
2911
3177
|
lb = self.create_loadbalancer(self.FAKE_UUID_1)
|
2912
3178
|
self.lb_repo.delete(self.session, id=lb.id)
|
3179
|
+
self.session.commit()
|
2913
3180
|
self.assertIsNone(self.lb_repo.get(self.session, id=lb.id))
|
2914
3181
|
|
2915
3182
|
def test_delete_with_amphora(self):
|
@@ -2923,8 +3190,12 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
2923
3190
|
new_lb = self.lb_repo.get(self.session, id=lb.id)
|
2924
3191
|
self.assertIsNotNone(new_lb)
|
2925
3192
|
self.assertEqual(1, len(new_lb.amphorae))
|
2926
|
-
self.assertEqual(amphora, new_lb.amphorae[0])
|
3193
|
+
self.assertEqual(amphora.id, new_lb.amphorae[0].id)
|
3194
|
+
self.assertEqual(amphora.load_balancer_id,
|
3195
|
+
new_lb.amphorae[0].load_balancer_id)
|
3196
|
+
self.assertEqual(amphora.compute_id, new_lb.amphorae[0].compute_id)
|
2927
3197
|
self.lb_repo.delete(self.session, id=new_lb.id)
|
3198
|
+
self.session.commit()
|
2928
3199
|
self.assertIsNone(self.lb_repo.get(self.session, id=lb.id))
|
2929
3200
|
new_amphora = self.amphora_repo.get(self.session, id=amphora.id)
|
2930
3201
|
self.assertIsNotNone(new_amphora)
|
@@ -2936,18 +3207,22 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
2936
3207
|
load_balancer_id=lb.id,
|
2937
3208
|
compute_id=self.FAKE_UUID_3,
|
2938
3209
|
status=constants.ACTIVE)
|
3210
|
+
self.session.commit()
|
2939
3211
|
amphora_2 = self.amphora_repo.create(self.session, id=self.FAKE_UUID_3,
|
2940
3212
|
load_balancer_id=lb.id,
|
2941
3213
|
compute_id=self.FAKE_UUID_3,
|
2942
3214
|
lb_network_ip=self.FAKE_IP,
|
2943
3215
|
vrrp_ip=self.FAKE_IP,
|
2944
3216
|
status=constants.ACTIVE)
|
3217
|
+
self.session.commit()
|
2945
3218
|
new_lb = self.lb_repo.get(self.session, id=lb.id)
|
2946
3219
|
self.assertIsNotNone(new_lb)
|
2947
3220
|
self.assertEqual(2, len(new_lb.amphorae))
|
2948
|
-
|
2949
|
-
self.assertIn(
|
3221
|
+
amphora_ids = [amp.id for amp in new_lb.amphorae]
|
3222
|
+
self.assertIn(amphora_1.id, amphora_ids)
|
3223
|
+
self.assertIn(amphora_2.id, amphora_ids)
|
2950
3224
|
self.lb_repo.delete(self.session, id=new_lb.id)
|
3225
|
+
self.session.commit()
|
2951
3226
|
self.assertIsNone(self.lb_repo.get(self.session, id=lb.id))
|
2952
3227
|
new_amphora_1 = self.amphora_repo.get(self.session, id=amphora_1.id)
|
2953
3228
|
new_amphora_2 = self.amphora_repo.get(self.session, id=amphora_2.id)
|
@@ -2960,11 +3235,13 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
2960
3235
|
lb = self.create_loadbalancer(self.FAKE_UUID_1)
|
2961
3236
|
vip = self.vip_repo.create(self.session, load_balancer_id=lb.id,
|
2962
3237
|
ip_address="192.0.2.1")
|
3238
|
+
self.session.commit()
|
2963
3239
|
new_lb = self.lb_repo.get(self.session, id=lb.id)
|
2964
3240
|
self.assertIsNotNone(new_lb)
|
2965
3241
|
self.assertIsNotNone(new_lb.vip)
|
2966
3242
|
self.assertEqual(vip, new_lb.vip)
|
2967
3243
|
self.lb_repo.delete(self.session, id=new_lb.id)
|
3244
|
+
self.session.commit()
|
2968
3245
|
self.assertIsNone(self.lb_repo.get(self.session, id=lb.id))
|
2969
3246
|
self.assertIsNone(self.vip_repo.get(self.session,
|
2970
3247
|
load_balancer_id=lb.id))
|
@@ -2978,11 +3255,16 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
2978
3255
|
protocol_port=80, connection_limit=1,
|
2979
3256
|
provisioning_status=constants.ACTIVE,
|
2980
3257
|
operating_status=constants.ONLINE, enabled=True)
|
3258
|
+
self.session.commit()
|
2981
3259
|
new_lb = self.lb_repo.get(self.session, id=lb.id)
|
2982
3260
|
self.assertIsNotNone(new_lb)
|
2983
3261
|
self.assertEqual(1, len(new_lb.listeners))
|
2984
|
-
self.assertEqual(listener, new_lb.listeners[0])
|
3262
|
+
self.assertEqual(listener.id, new_lb.listeners[0].id)
|
3263
|
+
self.assertEqual(listener.load_balancer_id,
|
3264
|
+
new_lb.listeners[0].load_balancer_id)
|
3265
|
+
self.assertEqual(listener.project_id, new_lb.listeners[0].project_id)
|
2985
3266
|
self.lb_repo.delete(self.session, id=new_lb.id)
|
3267
|
+
self.session.commit()
|
2986
3268
|
self.assertIsNone(self.lb_repo.get(self.session, id=lb.id))
|
2987
3269
|
self.assertIsNone(self.listener_repo.get(self.session, id=listener.id))
|
2988
3270
|
|
@@ -2995,6 +3277,7 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
2995
3277
|
protocol_port=80, connection_limit=1,
|
2996
3278
|
provisioning_status=constants.ACTIVE,
|
2997
3279
|
operating_status=constants.ONLINE, enabled=True)
|
3280
|
+
self.session.commit()
|
2998
3281
|
listener_2 = self.listener_repo.create(
|
2999
3282
|
self.session, id=self.FAKE_UUID_3, project_id=self.FAKE_UUID_2,
|
3000
3283
|
name="listener_name", description="listener_description",
|
@@ -3002,12 +3285,15 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
3002
3285
|
protocol_port=443, connection_limit=1,
|
3003
3286
|
provisioning_status=constants.ACTIVE,
|
3004
3287
|
operating_status=constants.ONLINE, enabled=True)
|
3288
|
+
self.session.commit()
|
3005
3289
|
new_lb = self.lb_repo.get(self.session, id=lb.id)
|
3006
3290
|
self.assertIsNotNone(new_lb)
|
3007
3291
|
self.assertEqual(2, len(new_lb.listeners))
|
3008
|
-
|
3009
|
-
self.assertIn(
|
3292
|
+
listener_ids = [lstnr.id for lstnr in new_lb.listeners]
|
3293
|
+
self.assertIn(listener_1.id, listener_ids)
|
3294
|
+
self.assertIn(listener_2.id, listener_ids)
|
3010
3295
|
self.lb_repo.delete(self.session, id=new_lb.id)
|
3296
|
+
self.session.commit()
|
3011
3297
|
self.assertIsNone(self.lb_repo.get(self.session, id=lb.id))
|
3012
3298
|
self.assertIsNone(self.listener_repo.get(self.session,
|
3013
3299
|
id=listener_1.id))
|
@@ -3016,13 +3302,16 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
3016
3302
|
|
3017
3303
|
def test_delete_with_all_children(self):
|
3018
3304
|
lb = self.create_loadbalancer(self.FAKE_UUID_1)
|
3305
|
+
self.session.commit()
|
3019
3306
|
amphora = self.amphora_repo.create(self.session, id=self.FAKE_UUID_1,
|
3020
3307
|
load_balancer_id=lb.id,
|
3021
3308
|
compute_id=self.FAKE_UUID_3,
|
3022
3309
|
lb_network_ip=self.FAKE_IP,
|
3023
3310
|
status=constants.ACTIVE)
|
3311
|
+
self.session.commit()
|
3024
3312
|
vip = self.vip_repo.create(self.session, load_balancer_id=lb.id,
|
3025
3313
|
ip_address="192.0.2.1")
|
3314
|
+
self.session.commit()
|
3026
3315
|
listener = self.listener_repo.create(
|
3027
3316
|
self.session, id=self.FAKE_UUID_1, project_id=self.FAKE_UUID_2,
|
3028
3317
|
name="listener_name", description="listener_description",
|
@@ -3030,15 +3319,24 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
3030
3319
|
protocol_port=80, connection_limit=1,
|
3031
3320
|
provisioning_status=constants.ACTIVE,
|
3032
3321
|
operating_status=constants.ONLINE, enabled=True)
|
3322
|
+
self.session.commit()
|
3033
3323
|
new_lb = self.lb_repo.get(self.session, id=lb.id)
|
3034
3324
|
self.assertIsNotNone(new_lb)
|
3035
3325
|
self.assertIsNotNone(new_lb.vip)
|
3036
3326
|
self.assertEqual(vip, new_lb.vip)
|
3037
3327
|
self.assertEqual(1, len(new_lb.amphorae))
|
3038
3328
|
self.assertEqual(1, len(new_lb.listeners))
|
3039
|
-
self.assertEqual(amphora, new_lb.amphorae[0])
|
3040
|
-
self.assertEqual(
|
3329
|
+
self.assertEqual(amphora.id, new_lb.amphorae[0].id)
|
3330
|
+
self.assertEqual(amphora.load_balancer_id,
|
3331
|
+
new_lb.amphorae[0].load_balancer_id)
|
3332
|
+
self.assertEqual(amphora.compute_id, new_lb.amphorae[0].compute_id)
|
3333
|
+
self.assertEqual(listener.id, new_lb.listeners[0].id)
|
3334
|
+
self.assertEqual(listener.name, new_lb.listeners[0].name)
|
3335
|
+
self.assertEqual(listener.protocol, new_lb.listeners[0].protocol)
|
3336
|
+
self.assertEqual(listener.protocol_port,
|
3337
|
+
new_lb.listeners[0].protocol_port)
|
3041
3338
|
self.lb_repo.delete(self.session, id=new_lb.id)
|
3339
|
+
self.session.commit()
|
3042
3340
|
self.assertIsNone(self.lb_repo.get(self.session, id=lb.id))
|
3043
3341
|
new_amphora = self.amphora_repo.get(self.session, id=amphora.id)
|
3044
3342
|
self.assertIsNotNone(new_amphora)
|
@@ -3053,6 +3351,7 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
3053
3351
|
provisioning_status=constants.PENDING_CREATE,
|
3054
3352
|
operating_status=constants.OFFLINE,
|
3055
3353
|
enabled=True)
|
3354
|
+
self.session.commit()
|
3056
3355
|
self.assertFalse(self.lb_repo.test_and_set_provisioning_status(
|
3057
3356
|
self.session, lb_id, constants.PENDING_UPDATE))
|
3058
3357
|
lb = self.lb_repo.get(self.session, id=lb_id)
|
@@ -3064,6 +3363,7 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
3064
3363
|
provisioning_status=constants.PENDING_CREATE,
|
3065
3364
|
operating_status=constants.OFFLINE,
|
3066
3365
|
enabled=True)
|
3366
|
+
self.session.commit()
|
3067
3367
|
self.assertRaises(exceptions.ImmutableObject,
|
3068
3368
|
self.lb_repo.test_and_set_provisioning_status,
|
3069
3369
|
self.session, lb_id,
|
@@ -3078,8 +3378,10 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
3078
3378
|
provisioning_status=constants.ACTIVE,
|
3079
3379
|
operating_status=constants.OFFLINE,
|
3080
3380
|
enabled=True)
|
3381
|
+
self.session.commit()
|
3081
3382
|
self.lb_repo.test_and_set_provisioning_status(
|
3082
3383
|
self.session, lb_id, constants.PENDING_UPDATE)
|
3384
|
+
self.session.commit()
|
3083
3385
|
lb = self.lb_repo.get(self.session, id=lb_id)
|
3084
3386
|
self.assertEqual(constants.PENDING_UPDATE, lb.provisioning_status)
|
3085
3387
|
|
@@ -3089,17 +3391,44 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
3089
3391
|
provisioning_status=constants.ERROR,
|
3090
3392
|
operating_status=constants.OFFLINE,
|
3091
3393
|
enabled=True)
|
3394
|
+
self.session.commit()
|
3092
3395
|
self.lb_repo.test_and_set_provisioning_status(
|
3093
3396
|
self.session, lb_id, constants.PENDING_DELETE)
|
3397
|
+
self.session.commit()
|
3094
3398
|
lb = self.lb_repo.get(self.session, id=lb_id)
|
3095
3399
|
self.assertEqual(constants.PENDING_DELETE, lb.provisioning_status)
|
3096
3400
|
|
3401
|
+
def test_test_and_set_provisioning_status_concurrent(self):
|
3402
|
+
lb_id = uuidutils.generate_uuid()
|
3403
|
+
self.lb_repo.create(self.session, id=lb_id,
|
3404
|
+
provisioning_status=constants.ACTIVE,
|
3405
|
+
operating_status=constants.ONLINE,
|
3406
|
+
enabled=True)
|
3407
|
+
self.session.commit()
|
3408
|
+
|
3409
|
+
# Create a concurrent session
|
3410
|
+
session2 = self._get_db_engine_session()[1]
|
3411
|
+
|
3412
|
+
# Load LB into session2's identity map
|
3413
|
+
session2.query(db_models.LoadBalancer).filter_by(
|
3414
|
+
id=lb_id).one()
|
3415
|
+
|
3416
|
+
# Update provisioning status in lock_session1
|
3417
|
+
self.lb_repo.test_and_set_provisioning_status(
|
3418
|
+
self.session, lb_id, constants.PENDING_UPDATE)
|
3419
|
+
self.session.commit()
|
3420
|
+
|
3421
|
+
# Assert concurrent updates are rejected
|
3422
|
+
self.assertFalse(self.lb_repo.test_and_set_provisioning_status(
|
3423
|
+
self.session, lb_id, constants.PENDING_UPDATE))
|
3424
|
+
|
3097
3425
|
def test_set_status_for_failover_immutable(self):
|
3098
3426
|
lb_id = uuidutils.generate_uuid()
|
3099
3427
|
self.lb_repo.create(self.session, id=lb_id,
|
3100
3428
|
provisioning_status=constants.PENDING_CREATE,
|
3101
3429
|
operating_status=constants.OFFLINE,
|
3102
3430
|
enabled=True)
|
3431
|
+
self.session.commit()
|
3103
3432
|
self.assertFalse(self.lb_repo.set_status_for_failover(
|
3104
3433
|
self.session, lb_id, constants.PENDING_UPDATE))
|
3105
3434
|
lb = self.lb_repo.get(self.session, id=lb_id)
|
@@ -3111,6 +3440,7 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
3111
3440
|
provisioning_status=constants.PENDING_CREATE,
|
3112
3441
|
operating_status=constants.OFFLINE,
|
3113
3442
|
enabled=True)
|
3443
|
+
self.session.commit()
|
3114
3444
|
self.assertRaises(exceptions.ImmutableObject,
|
3115
3445
|
self.lb_repo.set_status_for_failover,
|
3116
3446
|
self.session, lb_id,
|
@@ -3125,8 +3455,10 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
3125
3455
|
provisioning_status=constants.ACTIVE,
|
3126
3456
|
operating_status=constants.OFFLINE,
|
3127
3457
|
enabled=True)
|
3458
|
+
self.session.commit()
|
3128
3459
|
self.lb_repo.set_status_for_failover(
|
3129
3460
|
self.session, lb_id, constants.PENDING_UPDATE)
|
3461
|
+
self.session.commit()
|
3130
3462
|
lb = self.lb_repo.get(self.session, id=lb_id)
|
3131
3463
|
self.assertEqual(constants.PENDING_UPDATE, lb.provisioning_status)
|
3132
3464
|
|
@@ -3136,8 +3468,10 @@ class LoadBalancerRepositoryTest(BaseRepositoryTest):
|
|
3136
3468
|
provisioning_status=constants.ERROR,
|
3137
3469
|
operating_status=constants.OFFLINE,
|
3138
3470
|
enabled=True)
|
3471
|
+
self.session.commit()
|
3139
3472
|
self.lb_repo.set_status_for_failover(
|
3140
3473
|
self.session, lb_id, constants.PENDING_UPDATE)
|
3474
|
+
self.session.commit()
|
3141
3475
|
lb = self.lb_repo.get(self.session, id=lb_id)
|
3142
3476
|
self.assertEqual(constants.PENDING_UPDATE, lb.provisioning_status)
|
3143
3477
|
|
@@ -3279,6 +3613,7 @@ class AmphoraRepositoryTest(BaseRepositoryTest):
|
|
3279
3613
|
name="lb_name", description="lb_description",
|
3280
3614
|
provisioning_status=constants.ACTIVE,
|
3281
3615
|
operating_status=constants.ONLINE, enabled=True)
|
3616
|
+
self.session.commit()
|
3282
3617
|
|
3283
3618
|
def create_amphora(self, amphora_id, **overrides):
|
3284
3619
|
settings = {
|
@@ -3294,13 +3629,17 @@ class AmphoraRepositoryTest(BaseRepositoryTest):
|
|
3294
3629
|
}
|
3295
3630
|
settings.update(overrides)
|
3296
3631
|
amphora = self.amphora_repo.create(self.session, **settings)
|
3632
|
+
self.session.commit()
|
3297
3633
|
return amphora
|
3298
3634
|
|
3299
3635
|
def test_get(self):
|
3300
3636
|
amphora = self.create_amphora(self.FAKE_UUID_1)
|
3301
3637
|
new_amphora = self.amphora_repo.get(self.session, id=amphora.id)
|
3302
3638
|
self.assertIsInstance(new_amphora, data_models.Amphora)
|
3303
|
-
self.assertEqual(amphora, new_amphora)
|
3639
|
+
self.assertEqual(amphora.id, new_amphora.id)
|
3640
|
+
self.assertEqual(amphora.load_balancer_id,
|
3641
|
+
new_amphora.load_balancer_id)
|
3642
|
+
self.assertEqual(amphora.compute_id, new_amphora.compute_id)
|
3304
3643
|
|
3305
3644
|
def test_count(self):
|
3306
3645
|
comp_id = uuidutils.generate_uuid()
|
@@ -3361,7 +3700,9 @@ class AmphoraRepositoryTest(BaseRepositoryTest):
|
|
3361
3700
|
def test_delete_amphora_with_load_balancer(self):
|
3362
3701
|
amphora = self.create_amphora(self.FAKE_UUID_1)
|
3363
3702
|
self.amphora_repo.associate(self.session, self.lb.id, amphora.id)
|
3703
|
+
self.session.commit()
|
3364
3704
|
self.amphora_repo.delete(self.session, id=amphora.id)
|
3705
|
+
self.session.commit()
|
3365
3706
|
self.assertIsNone(self.amphora_repo.get(self.session, id=amphora.id))
|
3366
3707
|
new_lb = self.lb_repo.get(self.session, id=self.lb.id)
|
3367
3708
|
self.assertEqual(0, len(new_lb.amphorae))
|
@@ -3391,6 +3732,7 @@ class AmphoraRepositoryTest(BaseRepositoryTest):
|
|
3391
3732
|
self.skipTest("No idea how this should work yet")
|
3392
3733
|
amphora = self.create_amphora(self.FAKE_UUID_1)
|
3393
3734
|
self.amphora_repo.associate(self.session, self.lb.id, amphora.id)
|
3735
|
+
self.session.commit()
|
3394
3736
|
lb = self.amphora_repo.get_lb_for_amphora(self.session, amphora.id)
|
3395
3737
|
self.assertIsNotNone(lb)
|
3396
3738
|
self.assertEqual(self.lb, lb)
|
@@ -3456,6 +3798,7 @@ class AmphoraRepositoryTest(BaseRepositoryTest):
|
|
3456
3798
|
amphora2 = self.create_amphora(self.FAKE_UUID_3)
|
3457
3799
|
self.amphora_repo.associate(self.session, self.lb.id, amphora1.id)
|
3458
3800
|
self.amphora_repo.associate(self.session, self.lb.id, amphora2.id)
|
3801
|
+
self.session.commit()
|
3459
3802
|
|
3460
3803
|
lb_ref = {'enabled': True, 'id': self.lb.id,
|
3461
3804
|
'operating_status': constants.ONLINE,
|
@@ -3473,6 +3816,7 @@ class AmphoraRepositoryTest(BaseRepositoryTest):
|
|
3473
3816
|
lb_algorithm=constants.LB_ALGORITHM_ROUND_ROBIN,
|
3474
3817
|
provisioning_status=constants.ACTIVE,
|
3475
3818
|
operating_status=constants.ONLINE, enabled=True)
|
3819
|
+
self.session.commit()
|
3476
3820
|
|
3477
3821
|
pool_ref = {pool.id: {'members': {},
|
3478
3822
|
'operating_status': constants.ONLINE}}
|
@@ -3509,6 +3853,7 @@ class AmphoraRepositoryTest(BaseRepositoryTest):
|
|
3509
3853
|
provisioning_status=constants.ACTIVE,
|
3510
3854
|
operating_status=constants.ONLINE,
|
3511
3855
|
backup=False)
|
3856
|
+
self.session.commit()
|
3512
3857
|
|
3513
3858
|
member2 = self.member_repo.create(self.session, id=self.FAKE_UUID_7,
|
3514
3859
|
project_id=self.FAKE_UUID_2,
|
@@ -3518,6 +3863,7 @@ class AmphoraRepositoryTest(BaseRepositoryTest):
|
|
3518
3863
|
provisioning_status=constants.ACTIVE,
|
3519
3864
|
operating_status=constants.OFFLINE,
|
3520
3865
|
backup=False)
|
3866
|
+
self.session.commit()
|
3521
3867
|
|
3522
3868
|
member_ref = {member1.id: {'operating_status': constants.ONLINE},
|
3523
3869
|
member2.id: {'operating_status': constants.OFFLINE}}
|
@@ -4081,11 +4427,13 @@ class L7PolicyRepositoryTest(BaseRepositoryTest):
|
|
4081
4427
|
uuidutils.generate_uuid(), listener.id, 1,
|
4082
4428
|
action=constants.L7POLICY_ACTION_REDIRECT_TO_URL,
|
4083
4429
|
redirect_url="http://www.example.com/")
|
4430
|
+
self.session.commit()
|
4084
4431
|
new_l7policy = self.l7policy_repo.get(self.session, id=l7policy.id)
|
4085
4432
|
self.assertIsNone(new_l7policy.redirect_pool_id)
|
4086
4433
|
self.l7policy_repo.update(
|
4087
4434
|
self.session, id=l7policy.id,
|
4088
4435
|
redirect_pool_id=pool.id)
|
4436
|
+
self.session.commit()
|
4089
4437
|
new_l7policy = self.l7policy_repo.get(self.session, id=l7policy.id)
|
4090
4438
|
self.assertEqual(pool.id, new_l7policy.redirect_pool.id)
|
4091
4439
|
self.assertEqual(constants.L7POLICY_ACTION_REDIRECT_TO_POOL,
|
@@ -4098,6 +4446,7 @@ class L7PolicyRepositoryTest(BaseRepositoryTest):
|
|
4098
4446
|
uuidutils.generate_uuid(), listener.id, 1,
|
4099
4447
|
action=constants.L7POLICY_ACTION_REDIRECT_TO_URL,
|
4100
4448
|
redirect_url="http://www.example.com/")
|
4449
|
+
self.session.commit()
|
4101
4450
|
new_l7policy = self.l7policy_repo.get(self.session, id=l7policy.id)
|
4102
4451
|
self.assertIsNone(new_l7policy.redirect_pool_id)
|
4103
4452
|
self.assertEqual(constants.L7POLICY_ACTION_REDIRECT_TO_URL,
|
@@ -4118,6 +4467,7 @@ class L7PolicyRepositoryTest(BaseRepositoryTest):
|
|
4118
4467
|
uuidutils.generate_uuid(), listener.id, 1,
|
4119
4468
|
action=constants.L7POLICY_ACTION_REDIRECT_TO_POOL,
|
4120
4469
|
redirect_pool_id=pool.id)
|
4470
|
+
self.session.commit()
|
4121
4471
|
new_l7policy = self.l7policy_repo.get(self.session, id=l7policy.id)
|
4122
4472
|
self.assertIsNone(new_l7policy.redirect_url)
|
4123
4473
|
self.l7policy_repo.update(
|
@@ -4683,7 +5033,8 @@ class FlavorProfileRepositoryTest(BaseRepositoryTest):
|
|
4683
5033
|
fp1 = self.create_flavor_profile(fp_id=self.FAKE_UUID_1)
|
4684
5034
|
fp2 = self.create_flavor_profile(fp_id=self.FAKE_UUID_2)
|
4685
5035
|
fp_list, _ = self.flavor_profile_repo.get_all(
|
4686
|
-
self.session,
|
5036
|
+
self.session,
|
5037
|
+
query_options=defer(db_models.FlavorProfile.name))
|
4687
5038
|
self.assertIsInstance(fp_list, list)
|
4688
5039
|
self.assertEqual(2, len(fp_list))
|
4689
5040
|
self.assertEqual(fp1, fp_list[0])
|
@@ -4711,6 +5062,7 @@ class FlavorRepositoryTest(BaseRepositoryTest):
|
|
4711
5062
|
self.session, id=uuidutils.generate_uuid(),
|
4712
5063
|
name="fp1", provider_name=self.PROVIDER_NAME,
|
4713
5064
|
flavor_data='{"image": "ubuntu"}')
|
5065
|
+
self.session.commit()
|
4714
5066
|
return fp
|
4715
5067
|
|
4716
5068
|
def create_flavor(self, flavor_id, name):
|
@@ -4719,23 +5071,28 @@ class FlavorRepositoryTest(BaseRepositoryTest):
|
|
4719
5071
|
self.session, id=flavor_id, name=name,
|
4720
5072
|
flavor_profile_id=fp.id, description='test',
|
4721
5073
|
enabled=True)
|
5074
|
+
self.session.commit()
|
4722
5075
|
return flavor
|
4723
5076
|
|
4724
5077
|
def test_get(self):
|
4725
5078
|
flavor = self.create_flavor(flavor_id=self.FAKE_UUID_2, name='flavor')
|
4726
5079
|
new_flavor = self.flavor_repo.get(self.session, id=flavor.id)
|
4727
5080
|
self.assertIsInstance(new_flavor, data_models.Flavor)
|
4728
|
-
self.assertEqual(flavor, new_flavor)
|
5081
|
+
self.assertEqual(flavor.id, new_flavor.id)
|
5082
|
+
self.assertEqual(flavor.name, new_flavor.name)
|
4729
5083
|
|
4730
5084
|
def test_get_all(self):
|
4731
5085
|
fl1 = self.create_flavor(flavor_id=self.FAKE_UUID_2, name='flavor1')
|
4732
5086
|
fl2 = self.create_flavor(flavor_id=self.FAKE_UUID_3, name='flavor2')
|
4733
|
-
fl_list, _ = self.flavor_repo.get_all(
|
4734
|
-
|
5087
|
+
fl_list, _ = self.flavor_repo.get_all(
|
5088
|
+
self.session,
|
5089
|
+
query_options=defer(db_models.Flavor.enabled))
|
4735
5090
|
self.assertIsInstance(fl_list, list)
|
4736
5091
|
self.assertEqual(2, len(fl_list))
|
4737
|
-
self.assertEqual(fl1, fl_list[0])
|
4738
|
-
self.assertEqual(
|
5092
|
+
self.assertEqual(fl1.id, fl_list[0].id)
|
5093
|
+
self.assertEqual(fl1.name, fl_list[0].name)
|
5094
|
+
self.assertEqual(fl2.id, fl_list[1].id)
|
5095
|
+
self.assertEqual(fl2.name, fl_list[1].name)
|
4739
5096
|
|
4740
5097
|
def test_create(self):
|
4741
5098
|
fl = self.create_flavor(flavor_id=self.FAKE_UUID_2, name='fl1')
|