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
@@ -2657,6 +2657,10 @@ class TestLoadBalancer(base.BaseAPITest):
|
|
2657
2657
|
prov='bad_driver', user_msg='broken')
|
2658
2658
|
self.delete(self.LB_PATH.format(lb_id=api_lb.get('id')), status=501)
|
2659
2659
|
|
2660
|
+
response = self.get(self.LB_PATH.format(
|
2661
|
+
lb_id=api_lb.get('id'))).json.get(self.root_tag)
|
2662
|
+
self.assertEqual(constants.ACTIVE, response['provisioning_status'])
|
2663
|
+
|
2660
2664
|
@mock.patch('octavia.api.drivers.utils.call_provider')
|
2661
2665
|
def test_create_with_provider_unsupport_option(self, mock_provider):
|
2662
2666
|
mock_provider.side_effect = exceptions.ProviderUnsupportedOptionError(
|
@@ -2879,7 +2883,10 @@ class TestLoadBalancerGraph(base.BaseAPITest):
|
|
2879
2883
|
'allowed_cidrs': None,
|
2880
2884
|
'tls_ciphers': None,
|
2881
2885
|
'tls_versions': None,
|
2882
|
-
'alpn_protocols': None
|
2886
|
+
'alpn_protocols': None,
|
2887
|
+
'hsts_include_subdomains': False,
|
2888
|
+
'hsts_max_age': None,
|
2889
|
+
'hsts_preload': False,
|
2883
2890
|
}
|
2884
2891
|
if create_sni_containers:
|
2885
2892
|
create_listener['sni_container_refs'] = create_sni_containers
|
@@ -4045,6 +4052,7 @@ class TestLoadBalancerGraph(base.BaseAPITest):
|
|
4045
4052
|
bytes_out=random.randint(1, 9),
|
4046
4053
|
total_connections=random.randint(1, 9),
|
4047
4054
|
request_errors=random.randint(1, 9))
|
4055
|
+
self.session.commit()
|
4048
4056
|
|
4049
4057
|
response = self._getStats(lb['id'])
|
4050
4058
|
self.assertEqual(ls['bytes_in'], response['bytes_in'])
|
@@ -4072,6 +4080,7 @@ class TestLoadBalancerGraph(base.BaseAPITest):
|
|
4072
4080
|
bytes_out=random.randint(1, 9),
|
4073
4081
|
total_connections=random.randint(1, 9),
|
4074
4082
|
request_errors=random.randint(1, 9))
|
4083
|
+
self.session.commit()
|
4075
4084
|
|
4076
4085
|
auth_strategy = self.conf.conf.api_settings.get('auth_strategy')
|
4077
4086
|
self.conf.config(group='api_settings', auth_strategy=constants.TESTING)
|
@@ -25,11 +25,17 @@ from octavia.db import api as db_api
|
|
25
25
|
from octavia.db import base_models
|
26
26
|
from octavia.db import models
|
27
27
|
|
28
|
+
from octavia.tests import fixtures as oc_fixtures
|
29
|
+
|
28
30
|
|
29
31
|
class OctaviaDBTestBase(test_base.BaseTestCase):
|
30
32
|
|
31
33
|
def setUp(self, connection_string='sqlite://'):
|
32
34
|
super().setUp()
|
35
|
+
|
36
|
+
self.connection_string = connection_string
|
37
|
+
self.warning_fixture = self.useFixture(oc_fixtures.WarningsFixture())
|
38
|
+
|
33
39
|
# NOTE(blogan): doing this for now because using the engine and
|
34
40
|
# session set up in the fixture for test_base.DbTestCase does not work
|
35
41
|
# with the API functional tests. Need to investigate more if this
|
@@ -37,21 +43,17 @@ class OctaviaDBTestBase(test_base.BaseTestCase):
|
|
37
43
|
conf = self.useFixture(oslo_fixture.Config(config.cfg.CONF))
|
38
44
|
conf.config(group="database", connection=connection_string)
|
39
45
|
|
40
|
-
#
|
41
|
-
#
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
engine = facade.get_engine()
|
47
|
-
self.session = facade.get_session(expire_on_commit=True,
|
48
|
-
autocommit=True)
|
49
|
-
else:
|
50
|
-
engine = db_api.get_engine()
|
51
|
-
self.session = db_api.get_session()
|
46
|
+
# Disable pool_timeout when using sqlite with a file
|
47
|
+
# pool_timeout is not support by sqlalchemy 2 with SQLite/NullPool
|
48
|
+
if connection_string.startswith('sqlite:///'):
|
49
|
+
conf.config(group="database", pool_timeout=None)
|
50
|
+
|
51
|
+
engine, self.session = self._get_db_engine_session()
|
52
52
|
|
53
53
|
base_models.BASE.metadata.create_all(engine)
|
54
|
-
|
54
|
+
|
55
|
+
with self.session.begin():
|
56
|
+
self._seed_lookup_tables(self.session)
|
55
57
|
|
56
58
|
def clear_tables():
|
57
59
|
"""Unregister all data models."""
|
@@ -62,6 +64,20 @@ class OctaviaDBTestBase(test_base.BaseTestCase):
|
|
62
64
|
|
63
65
|
self.addCleanup(clear_tables)
|
64
66
|
|
67
|
+
def _get_db_engine_session(self):
|
68
|
+
# We need to get our own Facade so that the file backed sqlite tests
|
69
|
+
# don't use the _FACADE singleton. Some tests will use in-memory
|
70
|
+
# sqlite, some will use a file backed sqlite.
|
71
|
+
if 'sqlite:///' in self.connection_string:
|
72
|
+
facade = db_session.EngineFacade.from_config(cfg.CONF,
|
73
|
+
sqlite_fk=True)
|
74
|
+
engine = facade.get_engine()
|
75
|
+
session = facade.get_session(expire_on_commit=True)
|
76
|
+
else:
|
77
|
+
engine = db_api.get_engine()
|
78
|
+
session = db_api.get_session()
|
79
|
+
return engine, session
|
80
|
+
|
65
81
|
def _seed_lookup_tables(self, session):
|
66
82
|
self._seed_lookup_table(
|
67
83
|
session, constants.SUPPORTED_PROVISIONING_STATUSES,
|
@@ -123,6 +139,5 @@ class OctaviaDBTestBase(test_base.BaseTestCase):
|
|
123
139
|
|
124
140
|
def _seed_lookup_table(self, session, name_list, model_cls):
|
125
141
|
for name in name_list:
|
126
|
-
|
127
|
-
|
128
|
-
session.add(model)
|
142
|
+
model = model_cls(name=name)
|
143
|
+
session.add(model)
|
@@ -32,9 +32,9 @@ class ModelTestMixin(object):
|
|
32
32
|
FAKE_AZ = 'zone1'
|
33
33
|
|
34
34
|
def _insert(self, session, model_cls, model_kwargs):
|
35
|
-
|
36
|
-
|
37
|
-
|
35
|
+
model = model_cls(**model_kwargs)
|
36
|
+
session.add(model)
|
37
|
+
session.commit()
|
38
38
|
return model
|
39
39
|
|
40
40
|
def create_flavor_profile(self, session, **overrides):
|
@@ -230,9 +230,8 @@ class PoolModelTest(base.OctaviaDBTestBase, ModelTestMixin):
|
|
230
230
|
def test_delete(self):
|
231
231
|
pool = self.create_pool(self.session)
|
232
232
|
id = pool.id
|
233
|
-
|
234
|
-
|
235
|
-
self.session.flush()
|
233
|
+
self.session.delete(pool)
|
234
|
+
self.session.commit()
|
236
235
|
new_pool = self.session.query(
|
237
236
|
models.Pool).filter_by(id=id).first()
|
238
237
|
self.assertIsNone(new_pool)
|
@@ -302,6 +301,7 @@ class MemberModelTest(base.OctaviaDBTestBase, ModelTestMixin):
|
|
302
301
|
|
303
302
|
member_id = member.id
|
304
303
|
member.enabled = False
|
304
|
+
self.session.commit()
|
305
305
|
|
306
306
|
new_member = self.session.query(
|
307
307
|
models.Member).filter_by(id=member_id).first()
|
@@ -311,9 +311,11 @@ class MemberModelTest(base.OctaviaDBTestBase, ModelTestMixin):
|
|
311
311
|
def test_delete(self):
|
312
312
|
member = self.create_member(self.session, self.pool.id)
|
313
313
|
member_id = member.id
|
314
|
-
|
315
|
-
|
316
|
-
|
314
|
+
self.session.commit()
|
315
|
+
|
316
|
+
self.session.delete(member)
|
317
|
+
self.session.commit()
|
318
|
+
|
317
319
|
new_member = self.session.query(
|
318
320
|
models.Member).filter_by(id=member_id).first()
|
319
321
|
self.assertIsNone(new_member)
|
@@ -424,9 +426,8 @@ class ListenerModelTest(base.OctaviaDBTestBase, ModelTestMixin):
|
|
424
426
|
def test_delete(self):
|
425
427
|
listener = self.create_listener(self.session)
|
426
428
|
listener_id = listener.id
|
427
|
-
|
428
|
-
|
429
|
-
self.session.flush()
|
429
|
+
self.session.delete(listener)
|
430
|
+
self.session.commit()
|
430
431
|
new_listener = self.session.query(
|
431
432
|
models.Listener).filter_by(id=listener_id).first()
|
432
433
|
self.assertIsNone(new_listener)
|
@@ -578,9 +579,8 @@ class LoadBalancerModelTest(base.OctaviaDBTestBase, ModelTestMixin):
|
|
578
579
|
def test_delete(self):
|
579
580
|
load_balancer = self.create_load_balancer(self.session)
|
580
581
|
lb_id = load_balancer.id
|
581
|
-
|
582
|
-
|
583
|
-
self.session.flush()
|
582
|
+
self.session.delete(load_balancer)
|
583
|
+
self.session.commit()
|
584
584
|
new_load_balancer = self.session.query(
|
585
585
|
models.LoadBalancer).filter_by(id=lb_id).first()
|
586
586
|
self.assertIsNone(new_load_balancer)
|
@@ -745,7 +745,7 @@ class AmphoraHealthModelTest(base.OctaviaDBTestBase, ModelTestMixin):
|
|
745
745
|
new_amphora_health = self.session.query(
|
746
746
|
models.AmphoraHealth).filter_by(
|
747
747
|
amphora_id=amphora_health.amphora_id).first()
|
748
|
-
self.assertEqual(newdate, new_amphora_health.last_update
|
748
|
+
self.assertEqual(newdate, new_amphora_health.last_update)
|
749
749
|
|
750
750
|
def test_delete(self):
|
751
751
|
amphora_health = self.create_amphora_health(
|
@@ -787,9 +787,8 @@ class L7PolicyModelTest(base.OctaviaDBTestBase, ModelTestMixin):
|
|
787
787
|
def test_delete(self):
|
788
788
|
l7policy = self.create_l7policy(self.session, self.listener.id)
|
789
789
|
l7policy_id = l7policy.id
|
790
|
-
|
791
|
-
|
792
|
-
self.session.flush()
|
790
|
+
self.session.delete(l7policy)
|
791
|
+
self.session.commit()
|
793
792
|
new_l7policy = self.session.query(
|
794
793
|
models.L7Policy).filter_by(id=l7policy_id).first()
|
795
794
|
self.assertIsNone(new_l7policy)
|
@@ -908,9 +907,8 @@ class L7RuleModelTest(base.OctaviaDBTestBase, ModelTestMixin):
|
|
908
907
|
def test_delete(self):
|
909
908
|
l7rule = self.create_l7rule(self.session, self.l7policy.id)
|
910
909
|
l7rule_id = l7rule.id
|
911
|
-
|
912
|
-
|
913
|
-
self.session.flush()
|
910
|
+
self.session.delete(l7rule)
|
911
|
+
self.session.commit()
|
914
912
|
new_l7rule = self.session.query(
|
915
913
|
models.L7Rule).filter_by(id=l7rule_id).first()
|
916
914
|
self.assertIsNone(new_l7rule)
|
@@ -1825,10 +1823,11 @@ class FlavorModelTest(base.OctaviaDBTestBase, ModelTestMixin):
|
|
1825
1823
|
flavor = self.create_flavor(self.session, self.profile.id)
|
1826
1824
|
self.assertIsNotNone(flavor.id)
|
1827
1825
|
id = flavor.id
|
1826
|
+
self.session.commit()
|
1827
|
+
|
1828
|
+
self.session.delete(flavor)
|
1829
|
+
self.session.commit()
|
1828
1830
|
|
1829
|
-
with self.session.begin():
|
1830
|
-
self.session.delete(flavor)
|
1831
|
-
self.session.flush()
|
1832
1831
|
new_flavor = self.session.query(
|
1833
1832
|
models.Flavor).filter_by(id=id).first()
|
1834
1833
|
self.assertIsNone(new_flavor)
|
@@ -1847,10 +1846,10 @@ class FlavorProfileModelTest(base.OctaviaDBTestBase, ModelTestMixin):
|
|
1847
1846
|
fp = self.create_flavor_profile(self.session)
|
1848
1847
|
self.assertIsNotNone(fp.id)
|
1849
1848
|
id = fp.id
|
1849
|
+
self.session.commit()
|
1850
1850
|
|
1851
|
-
|
1852
|
-
|
1853
|
-
self.session.flush()
|
1851
|
+
self.session.delete(fp)
|
1852
|
+
self.session.commit()
|
1854
1853
|
new_fp = self.session.query(
|
1855
1854
|
models.FlavorProfile).filter_by(id=id).first()
|
1856
1855
|
self.assertIsNone(new_fp)
|