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.
Files changed (193) hide show
  1. octavia/amphorae/backends/agent/api_server/osutils.py +1 -0
  2. octavia/amphorae/backends/agent/api_server/plug.py +21 -7
  3. octavia/amphorae/backends/agent/api_server/templates/amphora-netns.systemd.j2 +2 -2
  4. octavia/amphorae/backends/agent/api_server/util.py +21 -0
  5. octavia/amphorae/backends/health_daemon/health_daemon.py +9 -3
  6. octavia/amphorae/backends/health_daemon/health_sender.py +2 -0
  7. octavia/amphorae/backends/utils/interface.py +14 -6
  8. octavia/amphorae/backends/utils/interface_file.py +6 -3
  9. octavia/amphorae/backends/utils/keepalivedlvs_query.py +8 -9
  10. octavia/amphorae/drivers/driver_base.py +1 -2
  11. octavia/amphorae/drivers/haproxy/rest_api_driver.py +11 -25
  12. octavia/amphorae/drivers/health/heartbeat_udp.py +34 -24
  13. octavia/amphorae/drivers/keepalived/jinja/jinja_cfg.py +3 -12
  14. octavia/amphorae/drivers/noop_driver/driver.py +3 -5
  15. octavia/api/common/pagination.py +4 -4
  16. octavia/api/drivers/amphora_driver/v2/driver.py +11 -5
  17. octavia/api/drivers/driver_agent/driver_get.py +22 -14
  18. octavia/api/drivers/driver_agent/driver_updater.py +8 -4
  19. octavia/api/drivers/utils.py +4 -2
  20. octavia/api/healthcheck/healthcheck_plugins.py +4 -2
  21. octavia/api/root_controller.py +4 -1
  22. octavia/api/v2/controllers/amphora.py +35 -38
  23. octavia/api/v2/controllers/availability_zone_profiles.py +43 -33
  24. octavia/api/v2/controllers/availability_zones.py +22 -18
  25. octavia/api/v2/controllers/flavor_profiles.py +37 -28
  26. octavia/api/v2/controllers/flavors.py +19 -15
  27. octavia/api/v2/controllers/health_monitor.py +44 -33
  28. octavia/api/v2/controllers/l7policy.py +52 -40
  29. octavia/api/v2/controllers/l7rule.py +68 -55
  30. octavia/api/v2/controllers/listener.py +88 -61
  31. octavia/api/v2/controllers/load_balancer.py +52 -34
  32. octavia/api/v2/controllers/member.py +63 -52
  33. octavia/api/v2/controllers/pool.py +55 -42
  34. octavia/api/v2/controllers/quotas.py +5 -3
  35. octavia/api/v2/types/listener.py +15 -0
  36. octavia/cmd/octavia_worker.py +0 -3
  37. octavia/cmd/status.py +1 -4
  38. octavia/common/clients.py +25 -45
  39. octavia/common/config.py +64 -22
  40. octavia/common/constants.py +3 -2
  41. octavia/common/data_models.py +7 -1
  42. octavia/common/jinja/haproxy/combined_listeners/jinja_cfg.py +12 -1
  43. octavia/common/jinja/haproxy/combined_listeners/templates/macros.j2 +5 -2
  44. octavia/common/jinja/lvs/jinja_cfg.py +4 -2
  45. octavia/common/keystone.py +58 -5
  46. octavia/common/validate.py +35 -0
  47. octavia/compute/drivers/noop_driver/driver.py +6 -0
  48. octavia/controller/healthmanager/health_manager.py +3 -6
  49. octavia/controller/housekeeping/house_keeping.py +36 -37
  50. octavia/controller/worker/amphora_rate_limit.py +5 -4
  51. octavia/controller/worker/task_utils.py +57 -41
  52. octavia/controller/worker/v2/controller_worker.py +160 -103
  53. octavia/controller/worker/v2/flows/listener_flows.py +3 -0
  54. octavia/controller/worker/v2/flows/load_balancer_flows.py +9 -14
  55. octavia/controller/worker/v2/tasks/amphora_driver_tasks.py +152 -91
  56. octavia/controller/worker/v2/tasks/compute_tasks.py +4 -2
  57. octavia/controller/worker/v2/tasks/database_tasks.py +542 -400
  58. octavia/controller/worker/v2/tasks/network_tasks.py +119 -79
  59. octavia/db/api.py +26 -23
  60. octavia/db/base_models.py +2 -2
  61. octavia/db/healthcheck.py +2 -1
  62. octavia/db/migration/alembic_migrations/versions/632152d2d32e_add_http_strict_transport_security_.py +42 -0
  63. octavia/db/models.py +12 -2
  64. octavia/db/prepare.py +2 -0
  65. octavia/db/repositories.py +462 -482
  66. octavia/hacking/checks.py +1 -1
  67. octavia/network/base.py +0 -14
  68. octavia/network/drivers/neutron/allowed_address_pairs.py +92 -135
  69. octavia/network/drivers/neutron/base.py +65 -77
  70. octavia/network/drivers/neutron/utils.py +69 -85
  71. octavia/network/drivers/noop_driver/driver.py +0 -7
  72. octavia/statistics/drivers/update_db.py +10 -10
  73. octavia/tests/common/constants.py +91 -84
  74. octavia/tests/common/sample_data_models.py +13 -1
  75. octavia/tests/fixtures.py +32 -0
  76. octavia/tests/functional/amphorae/backend/agent/api_server/test_server.py +9 -10
  77. octavia/tests/functional/api/drivers/driver_agent/test_driver_agent.py +260 -15
  78. octavia/tests/functional/api/test_root_controller.py +3 -28
  79. octavia/tests/functional/api/v2/base.py +5 -3
  80. octavia/tests/functional/api/v2/test_amphora.py +18 -5
  81. octavia/tests/functional/api/v2/test_availability_zone_profiles.py +1 -0
  82. octavia/tests/functional/api/v2/test_listener.py +51 -19
  83. octavia/tests/functional/api/v2/test_load_balancer.py +10 -1
  84. octavia/tests/functional/db/base.py +31 -16
  85. octavia/tests/functional/db/test_models.py +27 -28
  86. octavia/tests/functional/db/test_repositories.py +407 -50
  87. octavia/tests/unit/amphorae/backends/agent/api_server/test_amphora_info.py +2 -0
  88. octavia/tests/unit/amphorae/backends/agent/api_server/test_osutils.py +1 -1
  89. octavia/tests/unit/amphorae/backends/agent/api_server/test_plug.py +54 -6
  90. octavia/tests/unit/amphorae/backends/agent/api_server/test_util.py +35 -0
  91. octavia/tests/unit/amphorae/backends/health_daemon/test_health_daemon.py +8 -0
  92. octavia/tests/unit/amphorae/backends/health_daemon/test_health_sender.py +18 -0
  93. octavia/tests/unit/amphorae/backends/utils/test_interface.py +81 -0
  94. octavia/tests/unit/amphorae/backends/utils/test_interface_file.py +2 -0
  95. octavia/tests/unit/amphorae/backends/utils/test_keepalivedlvs_query.py +129 -5
  96. octavia/tests/unit/amphorae/drivers/haproxy/test_rest_api_driver_1_0.py +42 -20
  97. octavia/tests/unit/amphorae/drivers/health/test_heartbeat_udp.py +18 -20
  98. octavia/tests/unit/amphorae/drivers/keepalived/jinja/test_jinja_cfg.py +4 -4
  99. octavia/tests/unit/amphorae/drivers/noop_driver/test_driver.py +4 -1
  100. octavia/tests/unit/api/drivers/driver_agent/test_driver_get.py +3 -3
  101. octavia/tests/unit/api/drivers/driver_agent/test_driver_updater.py +11 -13
  102. octavia/tests/unit/base.py +6 -0
  103. octavia/tests/unit/cmd/test_interface.py +2 -2
  104. octavia/tests/unit/cmd/test_status.py +2 -2
  105. octavia/tests/unit/common/jinja/haproxy/combined_listeners/test_jinja_cfg.py +152 -1
  106. octavia/tests/unit/common/sample_configs/sample_configs_combined.py +10 -3
  107. octavia/tests/unit/common/test_clients.py +0 -39
  108. octavia/tests/unit/common/test_keystone.py +54 -0
  109. octavia/tests/unit/common/test_validate.py +67 -0
  110. octavia/tests/unit/controller/healthmanager/test_health_manager.py +8 -22
  111. octavia/tests/unit/controller/housekeeping/test_house_keeping.py +3 -64
  112. octavia/tests/unit/controller/worker/test_amphora_rate_limit.py +1 -1
  113. octavia/tests/unit/controller/worker/test_task_utils.py +44 -24
  114. octavia/tests/unit/controller/worker/v2/flows/test_load_balancer_flows.py +0 -1
  115. octavia/tests/unit/controller/worker/v2/tasks/test_amphora_driver_tasks.py +49 -26
  116. octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks.py +399 -196
  117. octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks_quota.py +37 -64
  118. octavia/tests/unit/controller/worker/v2/tasks/test_network_tasks.py +3 -14
  119. octavia/tests/unit/controller/worker/v2/test_controller_worker.py +2 -2
  120. octavia/tests/unit/network/drivers/neutron/test_allowed_address_pairs.py +456 -561
  121. octavia/tests/unit/network/drivers/neutron/test_base.py +181 -194
  122. octavia/tests/unit/network/drivers/neutron/test_utils.py +14 -30
  123. octavia/tests/unit/statistics/drivers/test_update_db.py +7 -5
  124. {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/README.rst +1 -1
  125. {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/AUTHORS +4 -0
  126. {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/METADATA +4 -4
  127. {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/RECORD +141 -189
  128. {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/entry_points.txt +1 -2
  129. octavia-13.0.0.0rc1.dist-info/pbr.json +1 -0
  130. octavia/api/drivers/amphora_driver/v1/__init__.py +0 -11
  131. octavia/api/drivers/amphora_driver/v1/driver.py +0 -547
  132. octavia/controller/queue/v1/__init__.py +0 -11
  133. octavia/controller/queue/v1/consumer.py +0 -64
  134. octavia/controller/queue/v1/endpoints.py +0 -160
  135. octavia/controller/worker/v1/__init__.py +0 -11
  136. octavia/controller/worker/v1/controller_worker.py +0 -1157
  137. octavia/controller/worker/v1/flows/__init__.py +0 -11
  138. octavia/controller/worker/v1/flows/amphora_flows.py +0 -610
  139. octavia/controller/worker/v1/flows/health_monitor_flows.py +0 -105
  140. octavia/controller/worker/v1/flows/l7policy_flows.py +0 -94
  141. octavia/controller/worker/v1/flows/l7rule_flows.py +0 -100
  142. octavia/controller/worker/v1/flows/listener_flows.py +0 -128
  143. octavia/controller/worker/v1/flows/load_balancer_flows.py +0 -692
  144. octavia/controller/worker/v1/flows/member_flows.py +0 -230
  145. octavia/controller/worker/v1/flows/pool_flows.py +0 -127
  146. octavia/controller/worker/v1/tasks/__init__.py +0 -11
  147. octavia/controller/worker/v1/tasks/amphora_driver_tasks.py +0 -453
  148. octavia/controller/worker/v1/tasks/cert_task.py +0 -51
  149. octavia/controller/worker/v1/tasks/compute_tasks.py +0 -335
  150. octavia/controller/worker/v1/tasks/database_tasks.py +0 -2756
  151. octavia/controller/worker/v1/tasks/lifecycle_tasks.py +0 -173
  152. octavia/controller/worker/v1/tasks/model_tasks.py +0 -41
  153. octavia/controller/worker/v1/tasks/network_tasks.py +0 -970
  154. octavia/controller/worker/v1/tasks/retry_tasks.py +0 -74
  155. octavia/tests/unit/api/drivers/amphora_driver/v1/__init__.py +0 -11
  156. octavia/tests/unit/api/drivers/amphora_driver/v1/test_driver.py +0 -824
  157. octavia/tests/unit/controller/queue/v1/__init__.py +0 -11
  158. octavia/tests/unit/controller/queue/v1/test_consumer.py +0 -61
  159. octavia/tests/unit/controller/queue/v1/test_endpoints.py +0 -189
  160. octavia/tests/unit/controller/worker/v1/__init__.py +0 -11
  161. octavia/tests/unit/controller/worker/v1/flows/__init__.py +0 -11
  162. octavia/tests/unit/controller/worker/v1/flows/test_amphora_flows.py +0 -474
  163. octavia/tests/unit/controller/worker/v1/flows/test_health_monitor_flows.py +0 -72
  164. octavia/tests/unit/controller/worker/v1/flows/test_l7policy_flows.py +0 -67
  165. octavia/tests/unit/controller/worker/v1/flows/test_l7rule_flows.py +0 -67
  166. octavia/tests/unit/controller/worker/v1/flows/test_listener_flows.py +0 -91
  167. octavia/tests/unit/controller/worker/v1/flows/test_load_balancer_flows.py +0 -431
  168. octavia/tests/unit/controller/worker/v1/flows/test_member_flows.py +0 -106
  169. octavia/tests/unit/controller/worker/v1/flows/test_pool_flows.py +0 -77
  170. octavia/tests/unit/controller/worker/v1/tasks/__init__.py +0 -11
  171. octavia/tests/unit/controller/worker/v1/tasks/test_amphora_driver_tasks.py +0 -792
  172. octavia/tests/unit/controller/worker/v1/tasks/test_cert_task.py +0 -46
  173. octavia/tests/unit/controller/worker/v1/tasks/test_compute_tasks.py +0 -634
  174. octavia/tests/unit/controller/worker/v1/tasks/test_database_tasks.py +0 -2615
  175. octavia/tests/unit/controller/worker/v1/tasks/test_database_tasks_quota.py +0 -415
  176. octavia/tests/unit/controller/worker/v1/tasks/test_lifecycle_tasks.py +0 -401
  177. octavia/tests/unit/controller/worker/v1/tasks/test_model_tasks.py +0 -44
  178. octavia/tests/unit/controller/worker/v1/tasks/test_network_tasks.py +0 -1788
  179. octavia/tests/unit/controller/worker/v1/tasks/test_retry_tasks.py +0 -47
  180. octavia/tests/unit/controller/worker/v1/test_controller_worker.py +0 -2096
  181. octavia-12.0.0.0rc2.dist-info/pbr.json +0 -1
  182. {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/LICENSE +0 -0
  183. {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/README.rst +0 -0
  184. {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/diskimage-create.sh +0 -0
  185. {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/image-tests.sh +0 -0
  186. {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/requirements.txt +0 -0
  187. {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/test-requirements.txt +0 -0
  188. {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/tox.ini +0 -0
  189. {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/version.txt +0 -0
  190. {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/scripts/octavia-wsgi +0 -0
  191. {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/LICENSE +0 -0
  192. {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/WHEEL +0 -0
  193. {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -112,7 +112,7 @@ _compute_mock_dict = {
112
112
  @mock.patch('octavia.db.repositories.AmphoraRepository.update')
113
113
  @mock.patch('octavia.db.repositories.ListenerRepository.update')
114
114
  @mock.patch('octavia.db.repositories.LoadBalancerRepository.update')
115
- @mock.patch('octavia.db.api.get_session', return_value='TEST')
115
+ @mock.patch('octavia.db.api.session')
116
116
  @mock.patch('octavia.controller.worker.v2.tasks.database_tasks.LOG')
117
117
  @mock.patch('oslo_utils.uuidutils.generate_uuid', return_value=AMP_ID)
118
118
  class TestDatabaseTasks(base.TestCase):
@@ -194,8 +194,10 @@ class TestDatabaseTasks(base.TestCase):
194
194
  create_amp_in_db = database_tasks.CreateAmphoraInDB()
195
195
  amp_id = create_amp_in_db.execute()
196
196
 
197
+ mock_session = mock_get_session().begin().__enter__()
198
+
197
199
  repo.AmphoraRepository.create.assert_called_once_with(
198
- 'TEST',
200
+ mock_session,
199
201
  id=AMP_ID,
200
202
  load_balancer_id=None,
201
203
  status=constants.PENDING_CREATE,
@@ -211,7 +213,7 @@ class TestDatabaseTasks(base.TestCase):
211
213
  create_amp_in_db.revert(result='AMP')
212
214
  self.assertTrue(mock_amphora_repo_delete.called)
213
215
  mock_amphora_repo_delete.assert_called_once_with(
214
- 'TEST',
216
+ mock_session,
215
217
  id='AMP')
216
218
 
217
219
  # Test revert with exception
@@ -220,7 +222,7 @@ class TestDatabaseTasks(base.TestCase):
220
222
  create_amp_in_db.revert(result='AMP')
221
223
  self.assertTrue(mock_amphora_repo_delete.called)
222
224
  mock_amphora_repo_delete.assert_called_once_with(
223
- 'TEST',
225
+ mock_session,
224
226
  id='AMP')
225
227
 
226
228
  @mock.patch('octavia.db.repositories.ListenerRepository.delete')
@@ -237,8 +239,10 @@ class TestDatabaseTasks(base.TestCase):
237
239
  delete_listener = database_tasks.DeleteListenerInDB()
238
240
  delete_listener.execute({constants.LISTENER_ID: LISTENER_ID})
239
241
 
242
+ mock_session = mock_get_session().begin().__enter__()
243
+
240
244
  repo.ListenerRepository.delete.assert_called_once_with(
241
- 'TEST',
245
+ mock_session,
242
246
  id=LISTENER_ID)
243
247
 
244
248
  # Test the revert
@@ -262,15 +266,17 @@ class TestDatabaseTasks(base.TestCase):
262
266
  delete_health_mon = database_tasks.DeleteHealthMonitorInDB()
263
267
  delete_health_mon.execute(self.health_mon_mock)
264
268
 
269
+ mock_session = mock_get_session().begin().__enter__()
270
+
265
271
  repo.HealthMonitorRepository.delete.assert_called_once_with(
266
- 'TEST', id=HM_ID)
272
+ mock_session, id=HM_ID)
267
273
 
268
274
  # Test the revert
269
275
  mock_health_mon_repo_delete.reset_mock()
270
276
  delete_health_mon.revert(self.health_mon_mock)
271
277
 
272
278
  repo.HealthMonitorRepository.update.assert_called_once_with(
273
- 'TEST', id=HM_ID, provisioning_status=constants.ERROR)
279
+ mock_session, id=HM_ID, provisioning_status=constants.ERROR)
274
280
 
275
281
  # Test Not Found Exception
276
282
  mock_health_mon_repo_delete.reset_mock()
@@ -278,7 +284,7 @@ class TestDatabaseTasks(base.TestCase):
278
284
  delete_health_mon.execute(self.health_mon_mock)
279
285
 
280
286
  repo.HealthMonitorRepository.delete.assert_called_once_with(
281
- 'TEST', id=HM_ID)
287
+ mock_session, id=HM_ID)
282
288
 
283
289
  @mock.patch('octavia.db.repositories.HealthMonitorRepository.update')
284
290
  @mock.patch('octavia.db.repositories.HealthMonitorRepository.delete')
@@ -298,8 +304,10 @@ class TestDatabaseTasks(base.TestCase):
298
304
  delete_health_mon = database_tasks.DeleteHealthMonitorInDBByPool()
299
305
  delete_health_mon.execute(POOL_ID)
300
306
 
307
+ mock_session = mock_get_session().begin().__enter__()
308
+
301
309
  repo.HealthMonitorRepository.delete.assert_called_once_with(
302
- 'TEST',
310
+ mock_session,
303
311
  id=HM_ID)
304
312
 
305
313
  # Test the revert
@@ -307,11 +315,11 @@ class TestDatabaseTasks(base.TestCase):
307
315
  delete_health_mon.revert(POOL_ID)
308
316
 
309
317
  repo.HealthMonitorRepository.update.assert_called_once_with(
310
- 'TEST', id=HM_ID, provisioning_status=constants.ERROR)
318
+ mock_session, id=HM_ID, provisioning_status=constants.ERROR)
311
319
 
312
320
  # TODO(johnsom) fix once provisioning status added
313
321
  # repo.HealthMonitorRepository.update.assert_called_once_with(
314
- # 'TEST',
322
+ # mock_session,
315
323
  # POOL_ID,
316
324
  # provisioning_status=constants.ERROR)
317
325
 
@@ -329,8 +337,10 @@ class TestDatabaseTasks(base.TestCase):
329
337
  delete_member = database_tasks.DeleteMemberInDB()
330
338
  delete_member.execute(self.member_mock)
331
339
 
340
+ mock_session = mock_get_session().begin().__enter__()
341
+
332
342
  repo.MemberRepository.delete.assert_called_once_with(
333
- 'TEST',
343
+ mock_session,
334
344
  id=MEMBER_ID)
335
345
 
336
346
  # Test the revert
@@ -340,7 +350,7 @@ class TestDatabaseTasks(base.TestCase):
340
350
 
341
351
  # TODO(johnsom) Fix
342
352
  # repo.MemberRepository.delete.assert_called_once_with(
343
- # 'TEST',
353
+ # mock_session,
344
354
  # MEMBER_ID)
345
355
 
346
356
  @mock.patch('octavia.db.repositories.PoolRepository.delete')
@@ -357,8 +367,10 @@ class TestDatabaseTasks(base.TestCase):
357
367
  delete_pool = database_tasks.DeletePoolInDB()
358
368
  delete_pool.execute(POOL_ID)
359
369
 
370
+ mock_session = mock_get_session().begin().__enter__()
371
+
360
372
  repo.PoolRepository.delete.assert_called_once_with(
361
- 'TEST',
373
+ mock_session,
362
374
  id=POOL_ID)
363
375
 
364
376
  # Test the revert
@@ -368,7 +380,7 @@ class TestDatabaseTasks(base.TestCase):
368
380
 
369
381
  # TODO(johnsom) Fix
370
382
  # repo.PoolRepository.update.assert_called_once_with(
371
- # 'TEST',
383
+ # mock_session,
372
384
  # POOL_ID,
373
385
  # operating_status=constants.ERROR)
374
386
 
@@ -386,8 +398,10 @@ class TestDatabaseTasks(base.TestCase):
386
398
  delete_l7policy = database_tasks.DeleteL7PolicyInDB()
387
399
  delete_l7policy.execute(self.l7policy_mock)
388
400
 
401
+ mock_session = mock_get_session().begin().__enter__()
402
+
389
403
  repo.L7PolicyRepository.delete.assert_called_once_with(
390
- 'TEST',
404
+ mock_session,
391
405
  id=L7POLICY_ID)
392
406
 
393
407
  # Test the revert
@@ -397,7 +411,7 @@ class TestDatabaseTasks(base.TestCase):
397
411
 
398
412
  # TODO(sbalukoff) Fix
399
413
  # repo.ListenerRepository.update.assert_called_once_with(
400
- # 'TEST',
414
+ # mock_session,
401
415
  # LISTENER_ID,
402
416
  # operating_status=constants.ERROR)
403
417
 
@@ -415,8 +429,10 @@ class TestDatabaseTasks(base.TestCase):
415
429
  delete_l7rule = database_tasks.DeleteL7RuleInDB()
416
430
  delete_l7rule.execute(self.l7rule_mock)
417
431
 
432
+ mock_session = mock_get_session().begin().__enter__()
433
+
418
434
  repo.L7RuleRepository.delete.assert_called_once_with(
419
- 'TEST',
435
+ mock_session,
420
436
  id=L7RULE_ID)
421
437
 
422
438
  # Test the revert
@@ -426,7 +442,7 @@ class TestDatabaseTasks(base.TestCase):
426
442
 
427
443
  # TODO(sbalukoff) Fix
428
444
  # repo.ListenerRepository.update.assert_called_once_with(
429
- # 'TEST',
445
+ # mock_session,
430
446
  # LISTENER_ID,
431
447
  # operating_status=constants.ERROR)
432
448
 
@@ -445,8 +461,10 @@ class TestDatabaseTasks(base.TestCase):
445
461
  reload_amp = database_tasks.ReloadAmphora()
446
462
  amp = reload_amp.execute(self.amphora)
447
463
 
464
+ mock_session = mock_get_session().begin().__enter__()
465
+
448
466
  repo.AmphoraRepository.get.assert_called_once_with(
449
- 'TEST',
467
+ mock_session,
450
468
  id=AMP_ID)
451
469
 
452
470
  self.assertEqual(_db_amphora_mock.to_dict(), amp)
@@ -466,8 +484,10 @@ class TestDatabaseTasks(base.TestCase):
466
484
  reload_lb = database_tasks.ReloadLoadBalancer()
467
485
  lb = reload_lb.execute(LB_ID)
468
486
 
487
+ mock_session = mock_get_session().begin().__enter__()
488
+
469
489
  repo.LoadBalancerRepository.get.assert_called_once_with(
470
- 'TEST',
490
+ mock_session,
471
491
  id=LB_ID)
472
492
 
473
493
  self.assertEqual(self.loadbalancer_mock, lb)
@@ -489,13 +509,15 @@ class TestDatabaseTasks(base.TestCase):
489
509
  update_vip = database_tasks.UpdateVIPAfterAllocation()
490
510
  loadbalancer = update_vip.execute(LB_ID, _vip_mock.to_dict())
491
511
 
512
+ mock_session = mock_get_session().begin().__enter__()
513
+
492
514
  self.assertEqual(self.loadbalancer_mock, loadbalancer)
493
- mock_vip_update.assert_called_once_with('TEST',
515
+ mock_vip_update.assert_called_once_with(mock_session,
494
516
  LB_ID,
495
517
  port_id=PORT_ID,
496
518
  subnet_id=SUBNET_ID,
497
519
  ip_address=VIP_IP)
498
- mock_loadbalancer_get.assert_called_once_with('TEST',
520
+ mock_loadbalancer_get.assert_called_once_with(mock_session,
499
521
  id=LB_ID)
500
522
 
501
523
  @mock.patch('octavia.db.repositories.LoadBalancerRepository.get',
@@ -524,14 +546,18 @@ class TestDatabaseTasks(base.TestCase):
524
546
  "port_id": PORT_ID3
525
547
  }
526
548
 
549
+ mock_session = mock_get_session().begin().__enter__()
550
+
527
551
  update_additional_vips = (
528
552
  database_tasks.UpdateAdditionalVIPsAfterAllocation())
529
553
  update_additional_vips.execute(
530
554
  LB_ID, [additional_vip1_dict, additional_vip2_dict])
531
555
  mock_additional_vip_update.assert_any_call(
532
- 'TEST', LB_ID, SUBNET_ID2, ip_address=VIP_IP2, port_id=PORT_ID2)
556
+ mock_session, LB_ID, SUBNET_ID2, ip_address=VIP_IP2,
557
+ port_id=PORT_ID2)
533
558
  mock_additional_vip_update.assert_any_call(
534
- 'TEST', LB_ID, SUBNET_ID3, ip_address=VIP_IP3, port_id=PORT_ID3)
559
+ mock_session, LB_ID, SUBNET_ID3, ip_address=VIP_IP3,
560
+ port_id=PORT_ID3)
535
561
 
536
562
  def test_update_amphora_vip_data(self,
537
563
  mock_generate_uuid,
@@ -545,8 +571,10 @@ class TestDatabaseTasks(base.TestCase):
545
571
  update_amp_vip_data = database_tasks.UpdateAmphoraeVIPData()
546
572
  update_amp_vip_data.execute([self.amphora])
547
573
 
574
+ mock_session = mock_get_session().begin().__enter__()
575
+
548
576
  mock_amphora_repo_update.assert_called_once_with(
549
- 'TEST',
577
+ mock_session,
550
578
  AMP_ID,
551
579
  vrrp_ip=VRRP_IP,
552
580
  ha_ip=HA_IP,
@@ -565,8 +593,10 @@ class TestDatabaseTasks(base.TestCase):
565
593
  update_amp_vip_data2 = database_tasks.UpdateAmphoraVIPData()
566
594
  update_amp_vip_data2.execute(self.amphora)
567
595
 
596
+ mock_session = mock_get_session().begin().__enter__()
597
+
568
598
  mock_amphora_repo_update.assert_called_once_with(
569
- 'TEST',
599
+ mock_session,
570
600
  AMP_ID,
571
601
  vrrp_ip=VRRP_IP,
572
602
  ha_ip=HA_IP,
@@ -593,8 +623,10 @@ class TestDatabaseTasks(base.TestCase):
593
623
  update_amp_fo_details = database_tasks.UpdateAmpFailoverDetails()
594
624
  update_amp_fo_details.execute(amphora_dict, vip_dict, base_port_dict)
595
625
 
626
+ mock_session = mock_get_session().begin().__enter__()
627
+
596
628
  mock_amphora_repo_update.assert_called_once_with(
597
- 'TEST',
629
+ mock_session,
598
630
  AMP_ID,
599
631
  vrrp_ip=VRRP_IP,
600
632
  ha_ip=HA_IP,
@@ -617,14 +649,16 @@ class TestDatabaseTasks(base.TestCase):
617
649
  assoc_fo_amp_lb_id = database_tasks.AssociateFailoverAmphoraWithLBID()
618
650
  assoc_fo_amp_lb_id.execute(AMP_ID, LB_ID)
619
651
 
620
- mock_associate.assert_called_once_with('TEST',
652
+ mock_session = mock_get_session().begin().__enter__()
653
+
654
+ mock_associate.assert_called_once_with(mock_session,
621
655
  load_balancer_id=LB_ID,
622
656
  amphora_id=AMP_ID)
623
657
 
624
658
  # Test revert
625
659
  assoc_fo_amp_lb_id.revert(AMP_ID)
626
660
 
627
- mock_amphora_repo_update.assert_called_once_with('TEST',
661
+ mock_amphora_repo_update.assert_called_once_with(mock_session,
628
662
  AMP_ID,
629
663
  loadbalancer_id=None)
630
664
 
@@ -634,7 +668,7 @@ class TestDatabaseTasks(base.TestCase):
634
668
 
635
669
  assoc_fo_amp_lb_id.revert(AMP_ID)
636
670
 
637
- mock_amphora_repo_update.assert_called_once_with('TEST',
671
+ mock_amphora_repo_update.assert_called_once_with(mock_session,
638
672
  AMP_ID,
639
673
  loadbalancer_id=None)
640
674
 
@@ -657,8 +691,10 @@ class TestDatabaseTasks(base.TestCase):
657
691
  MarkLBAmphoraeDeletedInDB())
658
692
  mark_amp_deleted_in_db.execute(self.loadbalancer_mock)
659
693
 
694
+ mock_session = mock_get_session().begin().__enter__()
695
+
660
696
  repo.AmphoraRepository.update.assert_called_once_with(
661
- 'TEST',
697
+ mock_session,
662
698
  id=AMP_ID,
663
699
  status=constants.DELETED)
664
700
 
@@ -682,8 +718,10 @@ class TestDatabaseTasks(base.TestCase):
682
718
  mark_amp_allocated_in_db.execute(self.amphora,
683
719
  LB_ID)
684
720
 
721
+ mock_session = mock_get_session().begin().__enter__()
722
+
685
723
  repo.AmphoraRepository.update.assert_called_once_with(
686
- 'TEST',
724
+ mock_session,
687
725
  AMP_ID,
688
726
  status=constants.AMPHORA_ALLOCATED,
689
727
  compute_id=COMPUTE_ID,
@@ -697,7 +735,7 @@ class TestDatabaseTasks(base.TestCase):
697
735
  LB_ID)
698
736
 
699
737
  repo.AmphoraRepository.update.assert_called_once_with(
700
- 'TEST',
738
+ mock_session,
701
739
  id=AMP_ID,
702
740
  status=constants.ERROR)
703
741
 
@@ -709,7 +747,7 @@ class TestDatabaseTasks(base.TestCase):
709
747
  LB_ID)
710
748
 
711
749
  repo.AmphoraRepository.update.assert_called_once_with(
712
- 'TEST',
750
+ mock_session,
713
751
  id=AMP_ID,
714
752
  status=constants.ERROR)
715
753
 
@@ -726,8 +764,10 @@ class TestDatabaseTasks(base.TestCase):
726
764
  mark_amp_booting_in_db.execute(_db_amphora_mock.id,
727
765
  _db_amphora_mock.compute_id)
728
766
 
767
+ mock_session = mock_get_session().begin().__enter__()
768
+
729
769
  repo.AmphoraRepository.update.assert_called_once_with(
730
- 'TEST',
770
+ mock_session,
731
771
  AMP_ID,
732
772
  status=constants.AMPHORA_BOOTING,
733
773
  compute_id=COMPUTE_ID)
@@ -739,7 +779,7 @@ class TestDatabaseTasks(base.TestCase):
739
779
  _db_amphora_mock.compute_id)
740
780
 
741
781
  repo.AmphoraRepository.update.assert_called_once_with(
742
- 'TEST',
782
+ mock_session,
743
783
  AMP_ID,
744
784
  status=constants.ERROR,
745
785
  compute_id=COMPUTE_ID)
@@ -752,7 +792,7 @@ class TestDatabaseTasks(base.TestCase):
752
792
  _db_amphora_mock.compute_id)
753
793
 
754
794
  repo.AmphoraRepository.update.assert_called_once_with(
755
- 'TEST',
795
+ mock_session,
756
796
  AMP_ID,
757
797
  status=constants.ERROR,
758
798
  compute_id=COMPUTE_ID)
@@ -769,8 +809,10 @@ class TestDatabaseTasks(base.TestCase):
769
809
  mark_amp_deleted_in_db = database_tasks.MarkAmphoraDeletedInDB()
770
810
  mark_amp_deleted_in_db.execute(self.amphora)
771
811
 
812
+ mock_session = mock_get_session().begin().__enter__()
813
+
772
814
  repo.AmphoraRepository.update.assert_called_once_with(
773
- 'TEST',
815
+ mock_session,
774
816
  AMP_ID,
775
817
  status=constants.DELETED)
776
818
 
@@ -779,7 +821,7 @@ class TestDatabaseTasks(base.TestCase):
779
821
  mark_amp_deleted_in_db.revert(self.amphora)
780
822
 
781
823
  repo.AmphoraRepository.update.assert_called_once_with(
782
- 'TEST',
824
+ mock_session,
783
825
  id=AMP_ID,
784
826
  status=constants.ERROR)
785
827
 
@@ -789,7 +831,7 @@ class TestDatabaseTasks(base.TestCase):
789
831
  mark_amp_deleted_in_db.revert(self.amphora)
790
832
 
791
833
  repo.AmphoraRepository.update.assert_called_once_with(
792
- 'TEST',
834
+ mock_session,
793
835
  id=AMP_ID,
794
836
  status=constants.ERROR)
795
837
 
@@ -806,8 +848,10 @@ class TestDatabaseTasks(base.TestCase):
806
848
  MarkAmphoraPendingDeleteInDB())
807
849
  mark_amp_pending_delete_in_db.execute(self.amphora)
808
850
 
851
+ mock_session = mock_get_session().begin().__enter__()
852
+
809
853
  repo.AmphoraRepository.update.assert_called_once_with(
810
- 'TEST',
854
+ mock_session,
811
855
  AMP_ID,
812
856
  status=constants.PENDING_DELETE)
813
857
 
@@ -816,7 +860,7 @@ class TestDatabaseTasks(base.TestCase):
816
860
  mark_amp_pending_delete_in_db.revert(self.amphora)
817
861
 
818
862
  repo.AmphoraRepository.update.assert_called_once_with(
819
- 'TEST',
863
+ mock_session,
820
864
  id=AMP_ID,
821
865
  status=constants.ERROR)
822
866
 
@@ -827,7 +871,7 @@ class TestDatabaseTasks(base.TestCase):
827
871
  mark_amp_pending_delete_in_db.revert(self.amphora)
828
872
 
829
873
  repo.AmphoraRepository.update.assert_called_once_with(
830
- 'TEST',
874
+ mock_session,
831
875
  id=AMP_ID,
832
876
  status=constants.ERROR)
833
877
 
@@ -844,8 +888,10 @@ class TestDatabaseTasks(base.TestCase):
844
888
  MarkAmphoraPendingUpdateInDB())
845
889
  mark_amp_pending_update_in_db.execute(self.amphora)
846
890
 
891
+ mock_session = mock_get_session().begin().__enter__()
892
+
847
893
  repo.AmphoraRepository.update.assert_called_once_with(
848
- 'TEST',
894
+ mock_session,
849
895
  AMP_ID,
850
896
  status=constants.PENDING_UPDATE)
851
897
 
@@ -854,7 +900,7 @@ class TestDatabaseTasks(base.TestCase):
854
900
  mark_amp_pending_update_in_db.revert(self.amphora)
855
901
 
856
902
  repo.AmphoraRepository.update.assert_called_once_with(
857
- 'TEST',
903
+ mock_session,
858
904
  id=AMP_ID,
859
905
  status=constants.ERROR)
860
906
 
@@ -864,7 +910,7 @@ class TestDatabaseTasks(base.TestCase):
864
910
  mark_amp_pending_update_in_db.revert(self.amphora)
865
911
 
866
912
  repo.AmphoraRepository.update.assert_called_once_with(
867
- 'TEST',
913
+ mock_session,
868
914
  id=AMP_ID,
869
915
  status=constants.ERROR)
870
916
 
@@ -882,8 +928,10 @@ class TestDatabaseTasks(base.TestCase):
882
928
  mark_amp_ready_in_db = database_tasks.MarkAmphoraReadyInDB()
883
929
  mark_amp_ready_in_db.execute(self.amphora)
884
930
 
931
+ mock_session = mock_get_session().begin().__enter__()
932
+
885
933
  repo.AmphoraRepository.update.assert_called_once_with(
886
- 'TEST',
934
+ mock_session,
887
935
  AMP_ID,
888
936
  status=constants.AMPHORA_READY,
889
937
  compute_id=COMPUTE_ID,
@@ -895,7 +943,7 @@ class TestDatabaseTasks(base.TestCase):
895
943
  mark_amp_ready_in_db.revert(self.amphora)
896
944
 
897
945
  repo.AmphoraRepository.update.assert_called_once_with(
898
- 'TEST',
946
+ mock_session,
899
947
  AMP_ID,
900
948
  status=constants.ERROR,
901
949
  compute_id=COMPUTE_ID,
@@ -908,7 +956,7 @@ class TestDatabaseTasks(base.TestCase):
908
956
  mark_amp_ready_in_db.revert(self.amphora)
909
957
 
910
958
  repo.AmphoraRepository.update.assert_called_once_with(
911
- 'TEST',
959
+ mock_session,
912
960
  AMP_ID,
913
961
  status=constants.ERROR,
914
962
  compute_id=COMPUTE_ID,
@@ -928,8 +976,10 @@ class TestDatabaseTasks(base.TestCase):
928
976
  update_amphora_info = database_tasks.UpdateAmphoraInfo()
929
977
  update_amphora_info.execute(AMP_ID, _compute_mock_dict)
930
978
 
979
+ mock_session = mock_get_session().begin().__enter__()
980
+
931
981
  repo.AmphoraRepository.update.assert_called_once_with(
932
- 'TEST',
982
+ mock_session,
933
983
  AMP_ID,
934
984
  lb_network_ip=LB_NET_IP,
935
985
  cached_zone=CACHED_ZONE,
@@ -937,7 +987,7 @@ class TestDatabaseTasks(base.TestCase):
937
987
  compute_flavor=COMPUTE_FLAVOR)
938
988
 
939
989
  repo.AmphoraRepository.get.assert_called_once_with(
940
- 'TEST',
990
+ mock_session,
941
991
  id=AMP_ID)
942
992
 
943
993
  def test_mark_listener_deleted_in_db(self,
@@ -952,8 +1002,10 @@ class TestDatabaseTasks(base.TestCase):
952
1002
  mark_listener_deleted = database_tasks.MarkListenerDeletedInDB()
953
1003
  mark_listener_deleted.execute(self.listener_mock)
954
1004
 
1005
+ mock_session = mock_get_session().begin().__enter__()
1006
+
955
1007
  repo.ListenerRepository.update.assert_called_once_with(
956
- 'TEST',
1008
+ mock_session,
957
1009
  LISTENER_ID,
958
1010
  provisioning_status=constants.DELETED)
959
1011
 
@@ -962,7 +1014,7 @@ class TestDatabaseTasks(base.TestCase):
962
1014
  mark_listener_deleted.revert(self.listener_mock)
963
1015
 
964
1016
  repo.ListenerRepository.update.assert_called_once_with(
965
- 'TEST',
1017
+ mock_session,
966
1018
  id=LISTENER_ID,
967
1019
  provisioning_status=constants.ERROR)
968
1020
 
@@ -972,7 +1024,7 @@ class TestDatabaseTasks(base.TestCase):
972
1024
  mark_listener_deleted.revert(self.listener_mock)
973
1025
 
974
1026
  repo.ListenerRepository.update.assert_called_once_with(
975
- 'TEST',
1027
+ mock_session,
976
1028
  id=LISTENER_ID,
977
1029
  provisioning_status=constants.ERROR)
978
1030
 
@@ -989,8 +1041,10 @@ class TestDatabaseTasks(base.TestCase):
989
1041
  MarkListenerPendingDeleteInDB())
990
1042
  mark_listener_pending_delete.execute(self.listener_mock)
991
1043
 
1044
+ mock_session = mock_get_session().begin().__enter__()
1045
+
992
1046
  repo.ListenerRepository.update.assert_called_once_with(
993
- 'TEST',
1047
+ mock_session,
994
1048
  LISTENER_ID,
995
1049
  provisioning_status=constants.PENDING_DELETE)
996
1050
 
@@ -999,7 +1053,7 @@ class TestDatabaseTasks(base.TestCase):
999
1053
  mark_listener_pending_delete.revert(self.listener_mock)
1000
1054
 
1001
1055
  repo.ListenerRepository.update.assert_called_once_with(
1002
- 'TEST',
1056
+ mock_session,
1003
1057
  id=LISTENER_ID,
1004
1058
  provisioning_status=constants.ERROR)
1005
1059
 
@@ -1009,7 +1063,7 @@ class TestDatabaseTasks(base.TestCase):
1009
1063
  mark_listener_pending_delete.revert(self.listener_mock)
1010
1064
 
1011
1065
  repo.ListenerRepository.update.assert_called_once_with(
1012
- 'TEST',
1066
+ mock_session,
1013
1067
  id=LISTENER_ID,
1014
1068
  provisioning_status=constants.ERROR)
1015
1069
 
@@ -1031,9 +1085,12 @@ class TestDatabaseTasks(base.TestCase):
1031
1085
  MarkLBAndListenersActiveInDB())
1032
1086
  mark_lb_and_listeners_active.execute(LB_ID, [listener_dict])
1033
1087
 
1034
- mock_list_not_error.assert_called_once_with('TEST', LISTENER_ID)
1088
+ mock_session = mock_get_session().begin().__enter__()
1089
+
1090
+ mock_list_not_error.assert_called_once_with(mock_session,
1091
+ LISTENER_ID)
1035
1092
  repo.LoadBalancerRepository.update.assert_called_once_with(
1036
- 'TEST',
1093
+ mock_session,
1037
1094
  LB_ID,
1038
1095
  provisioning_status=constants.ACTIVE)
1039
1096
 
@@ -1047,9 +1104,10 @@ class TestDatabaseTasks(base.TestCase):
1047
1104
  MarkLBAndListenersActiveInDB())
1048
1105
  mark_lb_and_listeners_active.execute(None, [listener_dict])
1049
1106
 
1050
- mock_list_not_error.assert_called_once_with('TEST', LISTENER_ID)
1107
+ mock_list_not_error.assert_called_once_with(mock_session,
1108
+ LISTENER_ID)
1051
1109
  repo.LoadBalancerRepository.update.assert_called_once_with(
1052
- 'TEST',
1110
+ mock_session,
1053
1111
  LB_ID,
1054
1112
  provisioning_status=constants.ACTIVE)
1055
1113
 
@@ -1065,7 +1123,7 @@ class TestDatabaseTasks(base.TestCase):
1065
1123
  mark_lb_and_listeners_active.revert(LB_ID, [listener_dict])
1066
1124
 
1067
1125
  repo.ListenerRepository.update.assert_called_once_with(
1068
- 'TEST',
1126
+ mock_session,
1069
1127
  id=LISTENER_ID,
1070
1128
  provisioning_status=constants.ERROR)
1071
1129
  repo.LoadBalancerRepository.update.assert_not_called()
@@ -1077,7 +1135,7 @@ class TestDatabaseTasks(base.TestCase):
1077
1135
  mark_lb_and_listeners_active.revert(None, [listener_dict])
1078
1136
 
1079
1137
  repo.ListenerRepository.update.assert_called_once_with(
1080
- 'TEST',
1138
+ mock_session,
1081
1139
  id=LISTENER_ID,
1082
1140
  provisioning_status=constants.ERROR)
1083
1141
  repo.LoadBalancerRepository.update.assert_not_called()
@@ -1100,7 +1158,7 @@ class TestDatabaseTasks(base.TestCase):
1100
1158
  mark_lb_and_listeners_active.revert(LB_ID, [listener_dict])
1101
1159
 
1102
1160
  repo.ListenerRepository.update.assert_called_once_with(
1103
- 'TEST',
1161
+ mock_session,
1104
1162
  id=LISTENER_ID,
1105
1163
  provisioning_status=constants.ERROR)
1106
1164
  repo.LoadBalancerRepository.update.assert_not_called()
@@ -1108,14 +1166,14 @@ class TestDatabaseTasks(base.TestCase):
1108
1166
  @mock.patch('octavia.common.tls_utils.cert_parser.get_cert_expiration',
1109
1167
  return_value=_cert_mock)
1110
1168
  def test_update_amphora_db_cert_exp(self,
1169
+ mock_get_cert_exp,
1111
1170
  mock_generate_uuid,
1112
1171
  mock_LOG,
1113
1172
  mock_get_session,
1114
1173
  mock_loadbalancer_repo_update,
1115
1174
  mock_listener_repo_update,
1116
1175
  mock_amphora_repo_update,
1117
- mock_amphora_repo_delete,
1118
- mock_get_cert_exp):
1176
+ mock_amphora_repo_delete):
1119
1177
 
1120
1178
  update_amp_cert = database_tasks.UpdateAmphoraDBCertExpiration()
1121
1179
  key = utils.get_compatible_server_certs_key_passphrase()
@@ -1125,8 +1183,10 @@ class TestDatabaseTasks(base.TestCase):
1125
1183
  ).decode('utf-8')
1126
1184
  update_amp_cert.execute(_db_amphora_mock.id, _pem_mock)
1127
1185
 
1186
+ mock_session = mock_get_session().begin().__enter__()
1187
+
1128
1188
  repo.AmphoraRepository.update.assert_called_once_with(
1129
- 'TEST',
1189
+ mock_session,
1130
1190
  AMP_ID,
1131
1191
  cert_expiration=_cert_mock)
1132
1192
 
@@ -1140,8 +1200,10 @@ class TestDatabaseTasks(base.TestCase):
1140
1200
  mock_amphora_repo_delete):
1141
1201
  amp_cert_busy_to_F = database_tasks.UpdateAmphoraCertBusyToFalse()
1142
1202
  amp_cert_busy_to_F.execute(AMP_ID)
1203
+ mock_session = mock_get_session().begin().__enter__()
1204
+
1143
1205
  repo.AmphoraRepository.update.assert_called_once_with(
1144
- 'TEST',
1206
+ mock_session,
1145
1207
  AMP_ID,
1146
1208
  cert_busy=False)
1147
1209
 
@@ -1157,8 +1219,10 @@ class TestDatabaseTasks(base.TestCase):
1157
1219
  mark_loadbalancer_active = database_tasks.MarkLBActiveInDB()
1158
1220
  mark_loadbalancer_active.execute(self.loadbalancer_mock)
1159
1221
 
1222
+ mock_session = mock_get_session().begin().__enter__()
1223
+
1160
1224
  repo.LoadBalancerRepository.update.assert_called_once_with(
1161
- 'TEST',
1225
+ mock_session,
1162
1226
  LB_ID,
1163
1227
  provisioning_status=constants.ACTIVE)
1164
1228
  self.assertEqual(0, repo.ListenerRepository.update.call_count)
@@ -1191,8 +1255,10 @@ class TestDatabaseTasks(base.TestCase):
1191
1255
  mark_loadbalancer_active = database_tasks.MarkLBActiveInDBByListener()
1192
1256
  mark_loadbalancer_active.execute(listener_dict)
1193
1257
 
1258
+ mock_session = mock_get_session().begin().__enter__()
1259
+
1194
1260
  repo.LoadBalancerRepository.update.assert_called_once_with(
1195
- 'TEST',
1261
+ mock_session,
1196
1262
  LB_ID,
1197
1263
  provisioning_status=constants.ACTIVE)
1198
1264
  self.assertEqual(0, repo.ListenerRepository.update.call_count)
@@ -1229,15 +1295,17 @@ class TestDatabaseTasks(base.TestCase):
1229
1295
  mark_lb_active = database_tasks.MarkLBActiveInDB(mark_subobjects=True)
1230
1296
  mark_lb_active.execute(self.loadbalancer_mock)
1231
1297
 
1298
+ mock_session = mock_get_session().begin().__enter__()
1299
+
1232
1300
  repo.LoadBalancerRepository.update.assert_called_once_with(
1233
- 'TEST',
1301
+ mock_session,
1234
1302
  lb.id,
1235
1303
  provisioning_status=constants.ACTIVE)
1236
1304
  self.assertEqual(2, repo.ListenerRepository.update.call_count)
1237
1305
  repo.ListenerRepository.update.assert_has_calls(
1238
- [mock.call('TEST', listeners[0].id,
1306
+ [mock.call(mock_session, listeners[0].id,
1239
1307
  provisioning_status=constants.ACTIVE),
1240
- mock.call('TEST', listeners[1].id,
1308
+ mock.call(mock_session, listeners[1].id,
1241
1309
  provisioning_status=constants.ACTIVE)])
1242
1310
 
1243
1311
  mock_loadbalancer_repo_update.reset_mock()
@@ -1247,9 +1315,9 @@ class TestDatabaseTasks(base.TestCase):
1247
1315
  repo.LoadBalancerRepository.update.assert_not_called()
1248
1316
  self.assertEqual(2, repo.ListenerRepository.update.call_count)
1249
1317
  repo.ListenerRepository.update.assert_has_calls(
1250
- [mock.call('TEST', listeners[0].id,
1318
+ [mock.call(mock_session, listeners[0].id,
1251
1319
  provisioning_status=constants.ERROR),
1252
- mock.call('TEST', listeners[1].id,
1320
+ mock.call(mock_session, listeners[1].id,
1253
1321
  provisioning_status=constants.ERROR)])
1254
1322
 
1255
1323
  @mock.patch('octavia.db.repositories.PoolRepository.update')
@@ -1302,29 +1370,33 @@ class TestDatabaseTasks(base.TestCase):
1302
1370
  mock_lb_repo_get.return_value = lb
1303
1371
  mark_lb_active.execute(self.loadbalancer_mock)
1304
1372
 
1373
+ mock_session = mock_get_session().begin().__enter__()
1374
+
1305
1375
  repo.LoadBalancerRepository.update.assert_called_once_with(
1306
- 'TEST',
1376
+ mock_session,
1307
1377
  lb.id,
1308
1378
  provisioning_status=constants.ACTIVE)
1309
1379
  repo.ListenerRepository.update.assert_has_calls(
1310
- [mock.call('TEST', listeners[0].id,
1380
+ [mock.call(mock_session, listeners[0].id,
1311
1381
  provisioning_status=constants.ACTIVE),
1312
- mock.call('TEST', listeners[1].id,
1382
+ mock.call(mock_session, listeners[1].id,
1313
1383
  provisioning_status=constants.ACTIVE)])
1314
1384
  repo.PoolRepository.update.assert_has_calls(
1315
- [mock.call('TEST', default_pool.id,
1385
+ [mock.call(mock_session, default_pool.id,
1386
+ provisioning_status=constants.ACTIVE),
1387
+ mock.call(mock_session, redirect_pool.id,
1316
1388
  provisioning_status=constants.ACTIVE),
1317
- mock.call('TEST', redirect_pool.id,
1389
+ mock.call(mock_session, unused_pool.id,
1318
1390
  provisioning_status=constants.ACTIVE)])
1319
1391
  repo.HealthMonitorRepository.update.assert_has_calls(
1320
- [mock.call('TEST', health_monitor.id,
1392
+ [mock.call(mock_session, health_monitor.id,
1321
1393
  provisioning_status=constants.ACTIVE)])
1322
1394
  repo.L7PolicyRepository.update.assert_has_calls(
1323
- [mock.call('TEST', l7policies[0].id,
1395
+ [mock.call(mock_session, l7policies[0].id,
1324
1396
  provisioning_status=constants.ACTIVE)])
1325
1397
  self.assertEqual(1, repo.L7RuleRepository.update.call_count)
1326
1398
  repo.L7RuleRepository.update.assert_has_calls(
1327
- [mock.call('TEST', l7rules[0].id,
1399
+ [mock.call(mock_session, l7rules[0].id,
1328
1400
  provisioning_status=constants.ACTIVE)])
1329
1401
 
1330
1402
  mock_loadbalancer_repo_update.reset_mock()
@@ -1339,26 +1411,29 @@ class TestDatabaseTasks(base.TestCase):
1339
1411
  repo.LoadBalancerRepository.update.assert_not_called()
1340
1412
  self.assertEqual(2, repo.ListenerRepository.update.call_count)
1341
1413
  repo.ListenerRepository.update.assert_has_calls(
1342
- [mock.call('TEST', listeners[0].id,
1414
+ [mock.call(mock_session, listeners[0].id,
1343
1415
  provisioning_status=constants.ERROR),
1344
- mock.call('TEST', listeners[1].id,
1416
+ mock.call(mock_session, listeners[1].id,
1345
1417
  provisioning_status=constants.ERROR)])
1346
1418
  repo.PoolRepository.update.assert_has_calls(
1347
- [mock.call('TEST', default_pool.id,
1419
+ [mock.call(mock_session, default_pool.id,
1348
1420
  provisioning_status=constants.ERROR),
1349
- mock.call('TEST', redirect_pool.id,
1350
- provisioning_status=constants.ERROR)])
1351
- self.assertEqual(1, repo.HealthMonitorRepository.update.call_count)
1352
- repo.HealthMonitorRepository.update.assert_has_calls(
1353
- [mock.call('TEST', health_monitor.id,
1421
+ mock.call(mock_session, redirect_pool.id,
1422
+ provisioning_status=constants.ERROR),
1423
+ mock.call(mock_session, unused_pool.id,
1424
+ provisioning_status=constants.ERROR)
1425
+ ])
1426
+ self.assertEqual(2, repo.HealthMonitorRepository.update.call_count)
1427
+ repo.HealthMonitorRepository.update.has_calls(
1428
+ [mock.call(mock_session, health_monitor.id,
1354
1429
  provisioning_status=constants.ERROR)])
1355
1430
  self.assertEqual(1, repo.L7PolicyRepository.update.call_count)
1356
1431
  repo.L7PolicyRepository.update.assert_has_calls(
1357
- [mock.call('TEST', l7policies[0].id,
1432
+ [mock.call(mock_session, l7policies[0].id,
1358
1433
  provisioning_status=constants.ERROR)])
1359
1434
  self.assertEqual(1, repo.L7RuleRepository.update.call_count)
1360
1435
  repo.L7RuleRepository.update.assert_has_calls(
1361
- [mock.call('TEST', l7rules[0].id,
1436
+ [mock.call(mock_session, l7rules[0].id,
1362
1437
  provisioning_status=constants.ERROR)])
1363
1438
 
1364
1439
  def test_mark_LB_deleted_in_db(self,
@@ -1373,8 +1448,10 @@ class TestDatabaseTasks(base.TestCase):
1373
1448
  mark_loadbalancer_deleted = database_tasks.MarkLBDeletedInDB()
1374
1449
  mark_loadbalancer_deleted.execute(self.loadbalancer_mock)
1375
1450
 
1451
+ mock_session = mock_get_session().begin().__enter__()
1452
+
1376
1453
  repo.LoadBalancerRepository.update.assert_called_once_with(
1377
- 'TEST',
1454
+ mock_session,
1378
1455
  LB_ID,
1379
1456
  provisioning_status=constants.DELETED)
1380
1457
 
@@ -1404,8 +1481,10 @@ class TestDatabaseTasks(base.TestCase):
1404
1481
  MarkLBPendingDeleteInDB())
1405
1482
  mark_loadbalancer_pending_delete.execute(self.loadbalancer_mock)
1406
1483
 
1484
+ mock_session = mock_get_session().begin().__enter__()
1485
+
1407
1486
  repo.LoadBalancerRepository.update.assert_called_once_with(
1408
- 'TEST',
1487
+ mock_session,
1409
1488
  LB_ID,
1410
1489
  provisioning_status=constants.PENDING_DELETE)
1411
1490
 
@@ -1424,8 +1503,10 @@ class TestDatabaseTasks(base.TestCase):
1424
1503
  update_health_mon.execute(self.health_mon_mock,
1425
1504
  {'delay': 1, 'timeout': 2})
1426
1505
 
1506
+ mock_session = mock_get_session().begin().__enter__()
1507
+
1427
1508
  repo.HealthMonitorRepository.update.assert_called_once_with(
1428
- 'TEST',
1509
+ mock_session,
1429
1510
  HM_ID,
1430
1511
  delay=1, timeout=2)
1431
1512
 
@@ -1434,7 +1515,7 @@ class TestDatabaseTasks(base.TestCase):
1434
1515
  update_health_mon.revert(self.health_mon_mock)
1435
1516
 
1436
1517
  repo.HealthMonitorRepository.update.assert_called_once_with(
1437
- 'TEST',
1518
+ mock_session,
1438
1519
  HM_ID,
1439
1520
  provisioning_status=constants.ERROR)
1440
1521
 
@@ -1444,7 +1525,7 @@ class TestDatabaseTasks(base.TestCase):
1444
1525
  update_health_mon.revert(self.health_mon_mock)
1445
1526
 
1446
1527
  repo.HealthMonitorRepository.update.assert_called_once_with(
1447
- 'TEST',
1528
+ mock_session,
1448
1529
  HM_ID,
1449
1530
  provisioning_status=constants.ERROR)
1450
1531
 
@@ -1461,8 +1542,10 @@ class TestDatabaseTasks(base.TestCase):
1461
1542
  update_load_balancer.execute(self.loadbalancer_mock,
1462
1543
  {'name': 'test', 'description': 'test2'})
1463
1544
 
1545
+ mock_session = mock_get_session().begin().__enter__()
1546
+
1464
1547
  repo.LoadBalancerRepository.update.assert_called_once_with(
1465
- 'TEST',
1548
+ mock_session,
1466
1549
  LB_ID,
1467
1550
  name='test', description='test2')
1468
1551
 
@@ -1484,13 +1567,15 @@ class TestDatabaseTasks(base.TestCase):
1484
1567
  'description': 'test2',
1485
1568
  'vip': {'qos_policy_id': 'fool'}})
1486
1569
 
1570
+ mock_session = mock_get_session().begin().__enter__()
1571
+
1487
1572
  repo.LoadBalancerRepository.update.assert_called_once_with(
1488
- 'TEST',
1573
+ mock_session,
1489
1574
  LB_ID,
1490
1575
  name='test', description='test2')
1491
1576
 
1492
- repo.VipRepository.update.assert_called_once_with('TEST', LB_ID,
1493
- qos_policy_id='fool')
1577
+ repo.VipRepository.update.assert_called_once_with(
1578
+ mock_session, LB_ID, qos_policy_id='fool')
1494
1579
 
1495
1580
  def test_update_listener_in_db(self,
1496
1581
  mock_generate_uuid,
@@ -1506,8 +1591,10 @@ class TestDatabaseTasks(base.TestCase):
1506
1591
  update_listener.execute(listener_dict,
1507
1592
  {'name': 'test', 'description': 'test2'})
1508
1593
 
1594
+ mock_session = mock_get_session().begin().__enter__()
1595
+
1509
1596
  repo.ListenerRepository.update.assert_called_once_with(
1510
- 'TEST',
1597
+ mock_session,
1511
1598
  LISTENER_ID,
1512
1599
  name='test', description='test2')
1513
1600
 
@@ -1515,7 +1602,7 @@ class TestDatabaseTasks(base.TestCase):
1515
1602
  mock_listener_repo_update.reset_mock()
1516
1603
  update_listener.revert(listener_dict)
1517
1604
  repo.ListenerRepository.update.assert_called_once_with(
1518
- 'TEST',
1605
+ mock_session,
1519
1606
  id=LISTENER_ID,
1520
1607
  provisioning_status=constants.ERROR)
1521
1608
 
@@ -1524,7 +1611,7 @@ class TestDatabaseTasks(base.TestCase):
1524
1611
  mock_listener_repo_update.side_effect = Exception('fail')
1525
1612
  update_listener.revert(listener_dict)
1526
1613
  repo.ListenerRepository.update.assert_called_once_with(
1527
- 'TEST',
1614
+ mock_session,
1528
1615
  id=LISTENER_ID,
1529
1616
  provisioning_status=constants.ERROR)
1530
1617
 
@@ -1543,8 +1630,10 @@ class TestDatabaseTasks(base.TestCase):
1543
1630
  update_member.execute(self.member_mock,
1544
1631
  {'weight': 1, 'ip_address': '10.1.0.0'})
1545
1632
 
1633
+ mock_session = mock_get_session().begin().__enter__()
1634
+
1546
1635
  repo.MemberRepository.update.assert_called_once_with(
1547
- 'TEST',
1636
+ mock_session,
1548
1637
  MEMBER_ID,
1549
1638
  weight=1, ip_address='10.1.0.0')
1550
1639
 
@@ -1553,7 +1642,7 @@ class TestDatabaseTasks(base.TestCase):
1553
1642
  update_member.revert(self.member_mock)
1554
1643
 
1555
1644
  repo.MemberRepository.update.assert_called_once_with(
1556
- 'TEST',
1645
+ mock_session,
1557
1646
  MEMBER_ID,
1558
1647
  provisioning_status=constants.ERROR)
1559
1648
 
@@ -1563,7 +1652,7 @@ class TestDatabaseTasks(base.TestCase):
1563
1652
  update_member.revert(self.member_mock)
1564
1653
 
1565
1654
  repo.MemberRepository.update.assert_called_once_with(
1566
- 'TEST',
1655
+ mock_session,
1567
1656
  MEMBER_ID,
1568
1657
  provisioning_status=constants.ERROR)
1569
1658
 
@@ -1586,8 +1675,10 @@ class TestDatabaseTasks(base.TestCase):
1586
1675
  update_pool.execute(POOL_ID,
1587
1676
  update_dict)
1588
1677
 
1678
+ mock_session = mock_get_session().begin().__enter__()
1679
+
1589
1680
  repo.Repositories.update_pool_and_sp.assert_called_once_with(
1590
- 'TEST',
1681
+ mock_session,
1591
1682
  POOL_ID,
1592
1683
  update_dict)
1593
1684
 
@@ -1596,7 +1687,7 @@ class TestDatabaseTasks(base.TestCase):
1596
1687
  update_pool.revert(POOL_ID)
1597
1688
 
1598
1689
  repo.Repositories.update_pool_and_sp.assert_called_once_with(
1599
- 'TEST',
1690
+ mock_session,
1600
1691
  POOL_ID,
1601
1692
  {'provisioning_status': constants.ERROR})
1602
1693
 
@@ -1606,7 +1697,7 @@ class TestDatabaseTasks(base.TestCase):
1606
1697
  update_pool.revert(POOL_ID)
1607
1698
 
1608
1699
  repo.Repositories.update_pool_and_sp.assert_called_once_with(
1609
- 'TEST',
1700
+ mock_session,
1610
1701
  POOL_ID,
1611
1702
  {'provisioning_status': constants.ERROR})
1612
1703
 
@@ -1625,8 +1716,10 @@ class TestDatabaseTasks(base.TestCase):
1625
1716
  update_l7policy.execute(self.l7policy_mock,
1626
1717
  {'action': constants.L7POLICY_ACTION_REJECT})
1627
1718
 
1719
+ mock_session = mock_get_session().begin().__enter__()
1720
+
1628
1721
  repo.L7PolicyRepository.update.assert_called_once_with(
1629
- 'TEST',
1722
+ mock_session,
1630
1723
  L7POLICY_ID,
1631
1724
  action=constants.L7POLICY_ACTION_REJECT)
1632
1725
 
@@ -1635,7 +1728,7 @@ class TestDatabaseTasks(base.TestCase):
1635
1728
  update_l7policy.revert(self.l7policy_mock)
1636
1729
 
1637
1730
  repo.L7PolicyRepository.update.assert_called_once_with(
1638
- 'TEST',
1731
+ mock_session,
1639
1732
  L7POLICY_ID,
1640
1733
  provisioning_status=constants.ERROR)
1641
1734
 
@@ -1645,7 +1738,7 @@ class TestDatabaseTasks(base.TestCase):
1645
1738
  update_l7policy.revert(self.l7policy_mock)
1646
1739
 
1647
1740
  repo.L7PolicyRepository.update.assert_called_once_with(
1648
- 'TEST',
1741
+ mock_session,
1649
1742
  L7POLICY_ID,
1650
1743
  provisioning_status=constants.ERROR)
1651
1744
 
@@ -1669,8 +1762,10 @@ class TestDatabaseTasks(base.TestCase):
1669
1762
  'compare_type': constants.L7RULE_COMPARE_TYPE_STARTS_WITH,
1670
1763
  'value': '/api'})
1671
1764
 
1765
+ mock_session = mock_get_session().begin().__enter__()
1766
+
1672
1767
  repo.L7RuleRepository.update.assert_called_once_with(
1673
- 'TEST',
1768
+ mock_session,
1674
1769
  L7RULE_ID,
1675
1770
  type=constants.L7RULE_TYPE_PATH,
1676
1771
  compare_type=constants.L7RULE_COMPARE_TYPE_STARTS_WITH,
@@ -1681,7 +1776,7 @@ class TestDatabaseTasks(base.TestCase):
1681
1776
  update_l7rule.revert(self.l7rule_mock)
1682
1777
 
1683
1778
  repo.L7PolicyRepository.update.assert_called_once_with(
1684
- 'TEST',
1779
+ mock_session,
1685
1780
  L7POLICY_ID,
1686
1781
  provisioning_status=constants.ERROR)
1687
1782
 
@@ -1691,7 +1786,7 @@ class TestDatabaseTasks(base.TestCase):
1691
1786
  update_l7rule.revert(self.l7rule_mock)
1692
1787
 
1693
1788
  repo.L7PolicyRepository.update.assert_called_once_with(
1694
- 'TEST',
1789
+ mock_session,
1695
1790
  L7POLICY_ID,
1696
1791
  provisioning_status=constants.ERROR)
1697
1792
 
@@ -1729,15 +1824,18 @@ class TestDatabaseTasks(base.TestCase):
1729
1824
 
1730
1825
  mark_amp_master_indb = database_tasks.MarkAmphoraMasterInDB()
1731
1826
  mark_amp_master_indb.execute(self.amphora)
1827
+
1828
+ mock_session = mock_get_session().begin().__enter__()
1829
+
1732
1830
  repo.AmphoraRepository.update.assert_called_once_with(
1733
- 'TEST', AMP_ID, role='MASTER',
1831
+ mock_session, AMP_ID, role='MASTER',
1734
1832
  vrrp_priority=constants.ROLE_MASTER_PRIORITY)
1735
1833
 
1736
1834
  mock_amphora_repo_update.reset_mock()
1737
1835
 
1738
1836
  mark_amp_master_indb.revert("BADRESULT", self.amphora)
1739
1837
  repo.AmphoraRepository.update.assert_called_once_with(
1740
- 'TEST', AMP_ID, role=None, vrrp_priority=None)
1838
+ mock_session, AMP_ID, role=None, vrrp_priority=None)
1741
1839
 
1742
1840
  mock_amphora_repo_update.reset_mock()
1743
1841
 
@@ -1750,35 +1848,35 @@ class TestDatabaseTasks(base.TestCase):
1750
1848
  mark_amp_backup_indb = database_tasks.MarkAmphoraBackupInDB()
1751
1849
  mark_amp_backup_indb.execute(self.amphora)
1752
1850
  repo.AmphoraRepository.update.assert_called_once_with(
1753
- 'TEST', AMP_ID, role='BACKUP',
1851
+ mock_session, AMP_ID, role='BACKUP',
1754
1852
  vrrp_priority=constants.ROLE_BACKUP_PRIORITY)
1755
1853
 
1756
1854
  mock_amphora_repo_update.reset_mock()
1757
1855
 
1758
1856
  mark_amp_backup_indb.revert("BADRESULT", self.amphora)
1759
1857
  repo.AmphoraRepository.update.assert_called_once_with(
1760
- 'TEST', AMP_ID, role=None, vrrp_priority=None)
1858
+ mock_session, AMP_ID, role=None, vrrp_priority=None)
1761
1859
 
1762
1860
  mock_amphora_repo_update.reset_mock()
1763
1861
 
1764
1862
  mark_amp_standalone_indb = database_tasks.MarkAmphoraStandAloneInDB()
1765
1863
  mark_amp_standalone_indb.execute(self.amphora)
1766
1864
  repo.AmphoraRepository.update.assert_called_once_with(
1767
- 'TEST', AMP_ID, role='STANDALONE',
1865
+ mock_session, AMP_ID, role='STANDALONE',
1768
1866
  vrrp_priority=None)
1769
1867
 
1770
1868
  mock_amphora_repo_update.reset_mock()
1771
1869
 
1772
1870
  mark_amp_standalone_indb.revert("BADRESULT", self.amphora)
1773
1871
  repo.AmphoraRepository.update.assert_called_once_with(
1774
- 'TEST', AMP_ID, role=None, vrrp_priority=None)
1872
+ mock_session, AMP_ID, role=None, vrrp_priority=None)
1775
1873
 
1776
1874
  # Test revert with exception
1777
1875
  mock_amphora_repo_update.reset_mock()
1778
1876
  mock_amphora_repo_update.side_effect = Exception('fail')
1779
1877
  mark_amp_standalone_indb.revert("BADRESULT", self.amphora)
1780
1878
  repo.AmphoraRepository.update.assert_called_once_with(
1781
- 'TEST', AMP_ID, role=None, vrrp_priority=None)
1879
+ mock_session, AMP_ID, role=None, vrrp_priority=None)
1782
1880
 
1783
1881
  @mock.patch('octavia.db.repositories.AmphoraRepository.get')
1784
1882
  @mock.patch('octavia.db.repositories.LoadBalancerRepository.get')
@@ -1824,7 +1922,10 @@ class TestDatabaseTasks(base.TestCase):
1824
1922
  mock_lb_get.return_value = _db_loadbalancer_mock
1825
1923
  get_list_from_lb_obj = database_tasks.GetListenersFromLoadbalancer()
1826
1924
  result = get_list_from_lb_obj.execute(self.loadbalancer_mock)
1827
- mock_listener_get.assert_called_once_with('TEST', id=_listener_mock.id)
1925
+ mock_session = mock_get_session().begin().__enter__()
1926
+
1927
+ mock_listener_get.assert_called_once_with(mock_session,
1928
+ id=_listener_mock.id)
1828
1929
  self.assertEqual([{constants.LISTENER_ID: LISTENER_ID}], result)
1829
1930
 
1830
1931
  @mock.patch('octavia.db.repositories.LoadBalancerRepository.get')
@@ -1857,7 +1958,9 @@ class TestDatabaseTasks(base.TestCase):
1857
1958
  result = get_loadbalancer_obj.execute(LB_ID)
1858
1959
 
1859
1960
  self.assertEqual(self.loadbalancer_mock, result)
1860
- mock_lb_get.assert_called_once_with('TEST', id=LB_ID)
1961
+ mock_session = mock_get_session().begin().__enter__()
1962
+
1963
+ mock_lb_get.assert_called_once_with(mock_session, id=LB_ID)
1861
1964
 
1862
1965
  @mock.patch('octavia.db.repositories.VRRPGroupRepository.create')
1863
1966
  def test_create_vrrp_group_for_lb(self,
@@ -1870,12 +1973,13 @@ class TestDatabaseTasks(base.TestCase):
1870
1973
  mock_amphora_repo_update,
1871
1974
  mock_amphora_repo_delete):
1872
1975
 
1873
- mock_get_session.side_effect = ['TEST',
1874
- odb_exceptions.DBDuplicateEntry]
1976
+ mock_session = mock_get_session().begin().__enter__()
1977
+ mock_get_session().begin().__exit__.side_effect = (
1978
+ odb_exceptions.DBDuplicateEntry)
1875
1979
  create_vrrp_group = database_tasks.CreateVRRPGroupForLB()
1876
1980
  create_vrrp_group.execute(LB_ID)
1877
1981
  mock_vrrp_group_create.assert_called_once_with(
1878
- 'TEST', load_balancer_id=LB_ID,
1982
+ mock_session, load_balancer_id=LB_ID,
1879
1983
  vrrp_group_name=LB_ID.replace('-', ''),
1880
1984
  vrrp_auth_type=constants.VRRP_AUTH_DEFAULT,
1881
1985
  vrrp_auth_pass=mock_generate_uuid.return_value.replace('-',
@@ -1895,8 +1999,10 @@ class TestDatabaseTasks(base.TestCase):
1895
1999
  mock_amphora_repo_delete):
1896
2000
  disable_amp_health = database_tasks.DisableAmphoraHealthMonitoring()
1897
2001
  disable_amp_health.execute(self.amphora)
2002
+ mock_session = mock_get_session().begin().__enter__()
2003
+
1898
2004
  mock_amp_health_repo_delete.assert_called_once_with(
1899
- 'TEST', amphora_id=AMP_ID)
2005
+ mock_session, amphora_id=AMP_ID)
1900
2006
 
1901
2007
  @mock.patch('octavia.db.repositories.AmphoraHealthRepository.delete')
1902
2008
  @mock.patch('octavia.db.repositories.LoadBalancerRepository.get')
@@ -1915,8 +2021,10 @@ class TestDatabaseTasks(base.TestCase):
1915
2021
  database_tasks.DisableLBAmphoraeHealthMonitoring())
1916
2022
  mock_lb_get.return_value = _db_loadbalancer_mock
1917
2023
  disable_amp_health.execute(self.loadbalancer_mock)
2024
+ mock_session = mock_get_session().begin().__enter__()
2025
+
1918
2026
  mock_amp_health_repo_delete.assert_called_once_with(
1919
- 'TEST', amphora_id=AMP_ID)
2027
+ mock_session, amphora_id=AMP_ID)
1920
2028
 
1921
2029
  @mock.patch('octavia.db.repositories.AmphoraHealthRepository.update')
1922
2030
  def test_mark_amphora_health_monitoring_busy(self,
@@ -1930,8 +2038,10 @@ class TestDatabaseTasks(base.TestCase):
1930
2038
  mock_amphora_repo_delete):
1931
2039
  mark_busy = database_tasks.MarkAmphoraHealthBusy()
1932
2040
  mark_busy.execute(self.amphora)
2041
+ mock_session = mock_get_session().begin().__enter__()
2042
+
1933
2043
  mock_amp_health_repo_update.assert_called_once_with(
1934
- 'TEST', amphora_id=AMP_ID, busy=True)
2044
+ mock_session, amphora_id=AMP_ID, busy=True)
1935
2045
 
1936
2046
  @mock.patch('octavia.db.repositories.AmphoraHealthRepository.update')
1937
2047
  @mock.patch('octavia.db.repositories.LoadBalancerRepository.get')
@@ -1950,8 +2060,10 @@ class TestDatabaseTasks(base.TestCase):
1950
2060
  database_tasks.MarkLBAmphoraeHealthBusy())
1951
2061
  mock_lb_get.return_value = _db_loadbalancer_mock
1952
2062
  mark_busy.execute(self.loadbalancer_mock)
2063
+ mock_session = mock_get_session().begin().__enter__()
2064
+
1953
2065
  mock_amp_health_repo_update.assert_called_once_with(
1954
- 'TEST', amphora_id=AMP_ID, busy=True)
2066
+ mock_session, amphora_id=AMP_ID, busy=True)
1955
2067
 
1956
2068
  def test_update_lb_server_group_in_db(self,
1957
2069
  mock_generate_uuid,
@@ -1965,8 +2077,10 @@ class TestDatabaseTasks(base.TestCase):
1965
2077
  update_server_group_info = database_tasks.UpdateLBServerGroupInDB()
1966
2078
  update_server_group_info.execute(LB_ID, SERVER_GROUP_ID)
1967
2079
 
2080
+ mock_session = mock_get_session().begin().__enter__()
2081
+
1968
2082
  repo.LoadBalancerRepository.update.assert_called_once_with(
1969
- 'TEST',
2083
+ mock_session,
1970
2084
  id=LB_ID,
1971
2085
  server_group_id=SERVER_GROUP_ID)
1972
2086
 
@@ -1995,8 +2109,10 @@ class TestDatabaseTasks(base.TestCase):
1995
2109
  mark_health_mon_active = (database_tasks.MarkHealthMonitorActiveInDB())
1996
2110
  mark_health_mon_active.execute(self.health_mon_mock)
1997
2111
 
2112
+ mock_session = mock_get_session().begin().__enter__()
2113
+
1998
2114
  mock_health_mon_repo_update.assert_called_once_with(
1999
- 'TEST',
2115
+ mock_session,
2000
2116
  HM_ID,
2001
2117
  operating_status=constants.ONLINE,
2002
2118
  provisioning_status=constants.ACTIVE)
@@ -2006,7 +2122,7 @@ class TestDatabaseTasks(base.TestCase):
2006
2122
  mark_health_mon_active.revert(self.health_mon_mock)
2007
2123
 
2008
2124
  mock_health_mon_repo_update.assert_called_once_with(
2009
- 'TEST',
2125
+ mock_session,
2010
2126
  id=HM_ID,
2011
2127
  provisioning_status=constants.ERROR)
2012
2128
 
@@ -2016,7 +2132,7 @@ class TestDatabaseTasks(base.TestCase):
2016
2132
  mark_health_mon_active.revert(self.health_mon_mock)
2017
2133
 
2018
2134
  mock_health_mon_repo_update.assert_called_once_with(
2019
- 'TEST',
2135
+ mock_session,
2020
2136
  id=HM_ID,
2021
2137
  provisioning_status=constants.ERROR)
2022
2138
 
@@ -2036,8 +2152,10 @@ class TestDatabaseTasks(base.TestCase):
2036
2152
  MarkHealthMonitorPendingCreateInDB())
2037
2153
  mark_health_mon_pending_create.execute(self.health_mon_mock)
2038
2154
 
2155
+ mock_session = mock_get_session().begin().__enter__()
2156
+
2039
2157
  mock_health_mon_repo_update.assert_called_once_with(
2040
- 'TEST',
2158
+ mock_session,
2041
2159
  HM_ID,
2042
2160
  provisioning_status=constants.PENDING_CREATE)
2043
2161
 
@@ -2046,7 +2164,7 @@ class TestDatabaseTasks(base.TestCase):
2046
2164
  mark_health_mon_pending_create.revert(self.health_mon_mock)
2047
2165
 
2048
2166
  mock_health_mon_repo_update.assert_called_once_with(
2049
- 'TEST',
2167
+ mock_session,
2050
2168
  id=HM_ID,
2051
2169
  provisioning_status=constants.ERROR)
2052
2170
 
@@ -2056,7 +2174,7 @@ class TestDatabaseTasks(base.TestCase):
2056
2174
  mark_health_mon_pending_create.revert(self.health_mon_mock)
2057
2175
 
2058
2176
  mock_health_mon_repo_update.assert_called_once_with(
2059
- 'TEST',
2177
+ mock_session,
2060
2178
  id=HM_ID,
2061
2179
  provisioning_status=constants.ERROR)
2062
2180
 
@@ -2076,8 +2194,10 @@ class TestDatabaseTasks(base.TestCase):
2076
2194
  MarkHealthMonitorPendingDeleteInDB())
2077
2195
  mark_health_mon_pending_delete.execute(self.health_mon_mock)
2078
2196
 
2197
+ mock_session = mock_get_session().begin().__enter__()
2198
+
2079
2199
  mock_health_mon_repo_update.assert_called_once_with(
2080
- 'TEST',
2200
+ mock_session,
2081
2201
  HM_ID,
2082
2202
  provisioning_status=constants.PENDING_DELETE)
2083
2203
 
@@ -2086,7 +2206,7 @@ class TestDatabaseTasks(base.TestCase):
2086
2206
  mark_health_mon_pending_delete.revert(self.health_mon_mock)
2087
2207
 
2088
2208
  mock_health_mon_repo_update.assert_called_once_with(
2089
- 'TEST',
2209
+ mock_session,
2090
2210
  id=HM_ID,
2091
2211
  provisioning_status=constants.ERROR)
2092
2212
 
@@ -2096,7 +2216,7 @@ class TestDatabaseTasks(base.TestCase):
2096
2216
  mark_health_mon_pending_delete.revert(self.health_mon_mock)
2097
2217
 
2098
2218
  mock_health_mon_repo_update.assert_called_once_with(
2099
- 'TEST',
2219
+ mock_session,
2100
2220
  id=HM_ID,
2101
2221
  provisioning_status=constants.ERROR)
2102
2222
 
@@ -2116,8 +2236,10 @@ class TestDatabaseTasks(base.TestCase):
2116
2236
  MarkHealthMonitorPendingUpdateInDB())
2117
2237
  mark_health_mon_pending_update.execute(self.health_mon_mock)
2118
2238
 
2239
+ mock_session = mock_get_session().begin().__enter__()
2240
+
2119
2241
  mock_health_mon_repo_update.assert_called_once_with(
2120
- 'TEST',
2242
+ mock_session,
2121
2243
  HM_ID,
2122
2244
  provisioning_status=constants.PENDING_UPDATE)
2123
2245
 
@@ -2126,7 +2248,7 @@ class TestDatabaseTasks(base.TestCase):
2126
2248
  mark_health_mon_pending_update.revert(self.health_mon_mock)
2127
2249
 
2128
2250
  mock_health_mon_repo_update.assert_called_once_with(
2129
- 'TEST',
2251
+ mock_session,
2130
2252
  id=HM_ID,
2131
2253
  provisioning_status=constants.ERROR)
2132
2254
 
@@ -2136,10 +2258,57 @@ class TestDatabaseTasks(base.TestCase):
2136
2258
  mark_health_mon_pending_update.revert(self.health_mon_mock)
2137
2259
 
2138
2260
  mock_health_mon_repo_update.assert_called_once_with(
2139
- 'TEST',
2261
+ mock_session,
2140
2262
  id=HM_ID,
2141
2263
  provisioning_status=constants.ERROR)
2142
2264
 
2265
+ @mock.patch('octavia.db.repositories.LoadBalancerRepository.get')
2266
+ @mock.patch('octavia.db.repositories.HealthMonitorRepository.update')
2267
+ def test_mark_health_monitors_online_in_db(self,
2268
+ mock_health_mon_repo_update,
2269
+ mock_loadbalancer_repo_get,
2270
+ mock_generate_uuid,
2271
+ mock_LOG,
2272
+ mock_get_session,
2273
+ mock_loadbalancer_repo_update,
2274
+ mock_listener_repo_update,
2275
+ mock_amphora_repo_update,
2276
+ mock_amphora_repo_delete):
2277
+ # Creating a mock hm for a default pool
2278
+ mock_lb = mock.MagicMock()
2279
+ mock_listener = mock.MagicMock()
2280
+ mock_default_pool = mock_listener.default_pool
2281
+ mock_hm_def_pool = mock_default_pool.health_monitor
2282
+ mock_hm_def_pool.id = uuidutils.generate_uuid()
2283
+ mock_lb.listeners = [mock_listener]
2284
+
2285
+ # Creating a mock hm for a redirect pool of an l7policy
2286
+ mock_l7policy = mock.MagicMock()
2287
+ mock_redirect_pool = mock_l7policy.redirect_pool
2288
+ mock_hm_l7_policy = mock_redirect_pool.health_monitor
2289
+ mock_hm_l7_policy.id = uuidutils.generate_uuid()
2290
+ mock_listener.l7policies = [mock_l7policy]
2291
+
2292
+ # Creating a mock hm for a non default pool - we check its health
2293
+ # monitor won't be updated
2294
+ mock_pool = mock.MagicMock()
2295
+ mock_hm_non_def_pool = mock_pool.health_monitor
2296
+ mock_hm_non_def_pool.id = uuidutils.generate_uuid()
2297
+ mock_lb.pools = [mock_pool]
2298
+
2299
+ mock_loadbalancer_repo_get.return_value = mock_lb
2300
+ mark_health_mon_online = (database_tasks.
2301
+ MarkHealthMonitorsOnlineInDB())
2302
+ mark_health_mon_online.execute(mock_lb)
2303
+
2304
+ mock_session = mock_get_session().begin().__enter__()
2305
+ for mock_id in [mock_hm_def_pool.id, mock_hm_l7_policy.id]:
2306
+ mock_health_mon_repo_update.assert_called_with(
2307
+ mock_session,
2308
+ mock_id,
2309
+ operating_status=constants.ONLINE)
2310
+ self.assertEqual(2, mock_health_mon_repo_update.call_count)
2311
+
2143
2312
  @mock.patch('octavia.db.repositories.L7PolicyRepository.update')
2144
2313
  @mock.patch('octavia.db.repositories.L7PolicyRepository.get')
2145
2314
  def test_mark_l7policy_active_in_db(self,
@@ -2157,8 +2326,10 @@ class TestDatabaseTasks(base.TestCase):
2157
2326
  mock_l7policy_repo_get.return_value = _l7policy_mock
2158
2327
  mark_l7policy_active.execute(self.l7policy_mock)
2159
2328
 
2329
+ mock_session = mock_get_session().begin().__enter__()
2330
+
2160
2331
  mock_l7policy_repo_update.assert_called_once_with(
2161
- 'TEST',
2332
+ mock_session,
2162
2333
  L7POLICY_ID,
2163
2334
  provisioning_status=constants.ACTIVE,
2164
2335
  operating_status=constants.ONLINE)
@@ -2168,7 +2339,7 @@ class TestDatabaseTasks(base.TestCase):
2168
2339
  mark_l7policy_active.revert(self.l7policy_mock)
2169
2340
 
2170
2341
  mock_l7policy_repo_update.assert_called_once_with(
2171
- 'TEST',
2342
+ mock_session,
2172
2343
  id=L7POLICY_ID,
2173
2344
  provisioning_status=constants.ERROR)
2174
2345
 
@@ -2178,7 +2349,7 @@ class TestDatabaseTasks(base.TestCase):
2178
2349
  mark_l7policy_active.revert(self.l7policy_mock)
2179
2350
 
2180
2351
  mock_l7policy_repo_update.assert_called_once_with(
2181
- 'TEST',
2352
+ mock_session,
2182
2353
  id=L7POLICY_ID,
2183
2354
  provisioning_status=constants.ERROR)
2184
2355
 
@@ -2197,8 +2368,10 @@ class TestDatabaseTasks(base.TestCase):
2197
2368
  MarkL7PolicyPendingCreateInDB())
2198
2369
  mark_l7policy_pending_create.execute(self.l7policy_mock)
2199
2370
 
2371
+ mock_session = mock_get_session().begin().__enter__()
2372
+
2200
2373
  mock_l7policy_repo_update.assert_called_once_with(
2201
- 'TEST',
2374
+ mock_session,
2202
2375
  L7POLICY_ID,
2203
2376
  provisioning_status=constants.PENDING_CREATE)
2204
2377
 
@@ -2207,7 +2380,7 @@ class TestDatabaseTasks(base.TestCase):
2207
2380
  mark_l7policy_pending_create.revert(self.l7policy_mock)
2208
2381
 
2209
2382
  mock_l7policy_repo_update.assert_called_once_with(
2210
- 'TEST',
2383
+ mock_session,
2211
2384
  id=L7POLICY_ID,
2212
2385
  provisioning_status=constants.ERROR)
2213
2386
 
@@ -2217,7 +2390,7 @@ class TestDatabaseTasks(base.TestCase):
2217
2390
  mark_l7policy_pending_create.revert(self.l7policy_mock)
2218
2391
 
2219
2392
  mock_l7policy_repo_update.assert_called_once_with(
2220
- 'TEST',
2393
+ mock_session,
2221
2394
  id=L7POLICY_ID,
2222
2395
  provisioning_status=constants.ERROR)
2223
2396
 
@@ -2236,8 +2409,10 @@ class TestDatabaseTasks(base.TestCase):
2236
2409
  MarkL7PolicyPendingDeleteInDB())
2237
2410
  mark_l7policy_pending_delete.execute(self.l7policy_mock)
2238
2411
 
2412
+ mock_session = mock_get_session().begin().__enter__()
2413
+
2239
2414
  mock_l7policy_repo_update.assert_called_once_with(
2240
- 'TEST',
2415
+ mock_session,
2241
2416
  L7POLICY_ID,
2242
2417
  provisioning_status=constants.PENDING_DELETE)
2243
2418
 
@@ -2246,7 +2421,7 @@ class TestDatabaseTasks(base.TestCase):
2246
2421
  mark_l7policy_pending_delete.revert(self.l7policy_mock)
2247
2422
 
2248
2423
  mock_l7policy_repo_update.assert_called_once_with(
2249
- 'TEST',
2424
+ mock_session,
2250
2425
  id=L7POLICY_ID,
2251
2426
  provisioning_status=constants.ERROR)
2252
2427
 
@@ -2256,7 +2431,7 @@ class TestDatabaseTasks(base.TestCase):
2256
2431
  mark_l7policy_pending_delete.revert(self.l7policy_mock)
2257
2432
 
2258
2433
  mock_l7policy_repo_update.assert_called_once_with(
2259
- 'TEST',
2434
+ mock_session,
2260
2435
  id=L7POLICY_ID,
2261
2436
  provisioning_status=constants.ERROR)
2262
2437
 
@@ -2275,8 +2450,10 @@ class TestDatabaseTasks(base.TestCase):
2275
2450
  MarkL7PolicyPendingUpdateInDB())
2276
2451
  mark_l7policy_pending_update.execute(self.l7policy_mock)
2277
2452
 
2453
+ mock_session = mock_get_session().begin().__enter__()
2454
+
2278
2455
  mock_l7policy_repo_update.assert_called_once_with(
2279
- 'TEST',
2456
+ mock_session,
2280
2457
  L7POLICY_ID,
2281
2458
  provisioning_status=constants.PENDING_UPDATE)
2282
2459
 
@@ -2285,7 +2462,7 @@ class TestDatabaseTasks(base.TestCase):
2285
2462
  mark_l7policy_pending_update.revert(self.l7policy_mock)
2286
2463
 
2287
2464
  mock_l7policy_repo_update.assert_called_once_with(
2288
- 'TEST',
2465
+ mock_session,
2289
2466
  id=L7POLICY_ID,
2290
2467
  provisioning_status=constants.ERROR)
2291
2468
 
@@ -2295,7 +2472,7 @@ class TestDatabaseTasks(base.TestCase):
2295
2472
  mark_l7policy_pending_update.revert(self.l7policy_mock)
2296
2473
 
2297
2474
  mock_l7policy_repo_update.assert_called_once_with(
2298
- 'TEST',
2475
+ mock_session,
2299
2476
  id=L7POLICY_ID,
2300
2477
  provisioning_status=constants.ERROR)
2301
2478
 
@@ -2315,8 +2492,10 @@ class TestDatabaseTasks(base.TestCase):
2315
2492
  mark_l7rule_active = (database_tasks.MarkL7RuleActiveInDB())
2316
2493
  mark_l7rule_active.execute(self.l7rule_mock)
2317
2494
 
2495
+ mock_session = mock_get_session().begin().__enter__()
2496
+
2318
2497
  mock_l7rule_repo_update.assert_called_once_with(
2319
- 'TEST',
2498
+ mock_session,
2320
2499
  L7RULE_ID,
2321
2500
  provisioning_status=constants.ACTIVE,
2322
2501
  operating_status=constants.ONLINE)
@@ -2326,7 +2505,7 @@ class TestDatabaseTasks(base.TestCase):
2326
2505
  mark_l7rule_active.revert(self.l7rule_mock)
2327
2506
 
2328
2507
  mock_l7rule_repo_update.assert_called_once_with(
2329
- 'TEST',
2508
+ mock_session,
2330
2509
  id=L7RULE_ID,
2331
2510
  provisioning_status=constants.ERROR)
2332
2511
 
@@ -2336,7 +2515,7 @@ class TestDatabaseTasks(base.TestCase):
2336
2515
  mark_l7rule_active.revert(self.l7rule_mock)
2337
2516
 
2338
2517
  mock_l7rule_repo_update.assert_called_once_with(
2339
- 'TEST',
2518
+ mock_session,
2340
2519
  id=L7RULE_ID,
2341
2520
  provisioning_status=constants.ERROR)
2342
2521
 
@@ -2355,8 +2534,10 @@ class TestDatabaseTasks(base.TestCase):
2355
2534
  MarkL7RulePendingCreateInDB())
2356
2535
  mark_l7rule_pending_create.execute(self.l7rule_mock)
2357
2536
 
2537
+ mock_session = mock_get_session().begin().__enter__()
2538
+
2358
2539
  mock_l7rule_repo_update.assert_called_once_with(
2359
- 'TEST',
2540
+ mock_session,
2360
2541
  L7RULE_ID,
2361
2542
  provisioning_status=constants.PENDING_CREATE)
2362
2543
 
@@ -2365,7 +2546,7 @@ class TestDatabaseTasks(base.TestCase):
2365
2546
  mark_l7rule_pending_create.revert(self.l7rule_mock)
2366
2547
 
2367
2548
  mock_l7rule_repo_update.assert_called_once_with(
2368
- 'TEST',
2549
+ mock_session,
2369
2550
  id=L7RULE_ID,
2370
2551
  provisioning_status=constants.ERROR)
2371
2552
 
@@ -2375,7 +2556,7 @@ class TestDatabaseTasks(base.TestCase):
2375
2556
  mark_l7rule_pending_create.revert(self.l7rule_mock)
2376
2557
 
2377
2558
  mock_l7rule_repo_update.assert_called_once_with(
2378
- 'TEST',
2559
+ mock_session,
2379
2560
  id=L7RULE_ID,
2380
2561
  provisioning_status=constants.ERROR)
2381
2562
 
@@ -2394,8 +2575,10 @@ class TestDatabaseTasks(base.TestCase):
2394
2575
  MarkL7RulePendingDeleteInDB())
2395
2576
  mark_l7rule_pending_delete.execute(self.l7rule_mock)
2396
2577
 
2578
+ mock_session = mock_get_session().begin().__enter__()
2579
+
2397
2580
  mock_l7rule_repo_update.assert_called_once_with(
2398
- 'TEST',
2581
+ mock_session,
2399
2582
  L7RULE_ID,
2400
2583
  provisioning_status=constants.PENDING_DELETE)
2401
2584
 
@@ -2404,7 +2587,7 @@ class TestDatabaseTasks(base.TestCase):
2404
2587
  mark_l7rule_pending_delete.revert(self.l7rule_mock)
2405
2588
 
2406
2589
  mock_l7rule_repo_update.assert_called_once_with(
2407
- 'TEST',
2590
+ mock_session,
2408
2591
  id=L7RULE_ID,
2409
2592
  provisioning_status=constants.ERROR)
2410
2593
 
@@ -2414,7 +2597,7 @@ class TestDatabaseTasks(base.TestCase):
2414
2597
  mark_l7rule_pending_delete.revert(self.l7rule_mock)
2415
2598
 
2416
2599
  mock_l7rule_repo_update.assert_called_once_with(
2417
- 'TEST',
2600
+ mock_session,
2418
2601
  id=L7RULE_ID,
2419
2602
  provisioning_status=constants.ERROR)
2420
2603
 
@@ -2433,8 +2616,10 @@ class TestDatabaseTasks(base.TestCase):
2433
2616
  MarkL7RulePendingUpdateInDB())
2434
2617
  mark_l7rule_pending_update.execute(self.l7rule_mock)
2435
2618
 
2619
+ mock_session = mock_get_session().begin().__enter__()
2620
+
2436
2621
  mock_l7rule_repo_update.assert_called_once_with(
2437
- 'TEST',
2622
+ mock_session,
2438
2623
  L7RULE_ID,
2439
2624
  provisioning_status=constants.PENDING_UPDATE)
2440
2625
 
@@ -2443,7 +2628,7 @@ class TestDatabaseTasks(base.TestCase):
2443
2628
  mark_l7rule_pending_update.revert(self.l7rule_mock)
2444
2629
 
2445
2630
  mock_l7rule_repo_update.assert_called_once_with(
2446
- 'TEST',
2631
+ mock_session,
2447
2632
  id=L7RULE_ID,
2448
2633
  provisioning_status=constants.ERROR)
2449
2634
 
@@ -2453,7 +2638,7 @@ class TestDatabaseTasks(base.TestCase):
2453
2638
  mark_l7rule_pending_update.revert(self.l7rule_mock)
2454
2639
 
2455
2640
  mock_l7rule_repo_update.assert_called_once_with(
2456
- 'TEST',
2641
+ mock_session,
2457
2642
  id=L7RULE_ID,
2458
2643
  provisioning_status=constants.ERROR)
2459
2644
 
@@ -2471,8 +2656,10 @@ class TestDatabaseTasks(base.TestCase):
2471
2656
  mark_member_active = (database_tasks.MarkMemberActiveInDB())
2472
2657
  mark_member_active.execute(self.member_mock)
2473
2658
 
2659
+ mock_session = mock_get_session().begin().__enter__()
2660
+
2474
2661
  mock_member_repo_update.assert_called_once_with(
2475
- 'TEST',
2662
+ mock_session,
2476
2663
  MEMBER_ID,
2477
2664
  provisioning_status=constants.ACTIVE)
2478
2665
 
@@ -2481,7 +2668,7 @@ class TestDatabaseTasks(base.TestCase):
2481
2668
  mark_member_active.revert(self.member_mock)
2482
2669
 
2483
2670
  mock_member_repo_update.assert_called_once_with(
2484
- 'TEST',
2671
+ mock_session,
2485
2672
  id=MEMBER_ID,
2486
2673
  provisioning_status=constants.ERROR)
2487
2674
 
@@ -2491,7 +2678,7 @@ class TestDatabaseTasks(base.TestCase):
2491
2678
  mark_member_active.revert(self.member_mock)
2492
2679
 
2493
2680
  mock_member_repo_update.assert_called_once_with(
2494
- 'TEST',
2681
+ mock_session,
2495
2682
  id=MEMBER_ID,
2496
2683
  provisioning_status=constants.ERROR)
2497
2684
 
@@ -2510,8 +2697,10 @@ class TestDatabaseTasks(base.TestCase):
2510
2697
  MarkMemberPendingCreateInDB())
2511
2698
  mark_member_pending_create.execute(self.member_mock)
2512
2699
 
2700
+ mock_session = mock_get_session().begin().__enter__()
2701
+
2513
2702
  mock_member_repo_update.assert_called_once_with(
2514
- 'TEST',
2703
+ mock_session,
2515
2704
  MEMBER_ID,
2516
2705
  provisioning_status=constants.PENDING_CREATE)
2517
2706
 
@@ -2520,7 +2709,7 @@ class TestDatabaseTasks(base.TestCase):
2520
2709
  mark_member_pending_create.revert(self.member_mock)
2521
2710
 
2522
2711
  mock_member_repo_update.assert_called_once_with(
2523
- 'TEST',
2712
+ mock_session,
2524
2713
  id=MEMBER_ID,
2525
2714
  provisioning_status=constants.ERROR)
2526
2715
 
@@ -2530,7 +2719,7 @@ class TestDatabaseTasks(base.TestCase):
2530
2719
  mark_member_pending_create.revert(self.member_mock)
2531
2720
 
2532
2721
  mock_member_repo_update.assert_called_once_with(
2533
- 'TEST',
2722
+ mock_session,
2534
2723
  id=MEMBER_ID,
2535
2724
  provisioning_status=constants.ERROR)
2536
2725
 
@@ -2549,8 +2738,10 @@ class TestDatabaseTasks(base.TestCase):
2549
2738
  MarkMemberPendingDeleteInDB())
2550
2739
  mark_member_pending_delete.execute(self.member_mock)
2551
2740
 
2741
+ mock_session = mock_get_session().begin().__enter__()
2742
+
2552
2743
  mock_member_repo_update.assert_called_once_with(
2553
- 'TEST',
2744
+ mock_session,
2554
2745
  MEMBER_ID,
2555
2746
  provisioning_status=constants.PENDING_DELETE)
2556
2747
 
@@ -2559,7 +2750,7 @@ class TestDatabaseTasks(base.TestCase):
2559
2750
  mark_member_pending_delete.revert(self.member_mock)
2560
2751
 
2561
2752
  mock_member_repo_update.assert_called_once_with(
2562
- 'TEST',
2753
+ mock_session,
2563
2754
  id=MEMBER_ID,
2564
2755
  provisioning_status=constants.ERROR)
2565
2756
 
@@ -2569,7 +2760,7 @@ class TestDatabaseTasks(base.TestCase):
2569
2760
  mark_member_pending_delete.revert(self.member_mock)
2570
2761
 
2571
2762
  mock_member_repo_update.assert_called_once_with(
2572
- 'TEST',
2763
+ mock_session,
2573
2764
  id=MEMBER_ID,
2574
2765
  provisioning_status=constants.ERROR)
2575
2766
 
@@ -2588,8 +2779,10 @@ class TestDatabaseTasks(base.TestCase):
2588
2779
  MarkMemberPendingUpdateInDB())
2589
2780
  mark_member_pending_update.execute(self.member_mock)
2590
2781
 
2782
+ mock_session = mock_get_session().begin().__enter__()
2783
+
2591
2784
  mock_member_repo_update.assert_called_once_with(
2592
- 'TEST',
2785
+ mock_session,
2593
2786
  MEMBER_ID,
2594
2787
  provisioning_status=constants.PENDING_UPDATE)
2595
2788
 
@@ -2598,7 +2791,7 @@ class TestDatabaseTasks(base.TestCase):
2598
2791
  mark_member_pending_update.revert(self.member_mock)
2599
2792
 
2600
2793
  mock_member_repo_update.assert_called_once_with(
2601
- 'TEST',
2794
+ mock_session,
2602
2795
  id=MEMBER_ID,
2603
2796
  provisioning_status=constants.ERROR)
2604
2797
 
@@ -2608,7 +2801,7 @@ class TestDatabaseTasks(base.TestCase):
2608
2801
  mark_member_pending_update.revert(self.member_mock)
2609
2802
 
2610
2803
  mock_member_repo_update.assert_called_once_with(
2611
- 'TEST',
2804
+ mock_session,
2612
2805
  id=MEMBER_ID,
2613
2806
  provisioning_status=constants.ERROR)
2614
2807
 
@@ -2626,8 +2819,10 @@ class TestDatabaseTasks(base.TestCase):
2626
2819
  mark_pool_active = (database_tasks.MarkPoolActiveInDB())
2627
2820
  mark_pool_active.execute(POOL_ID)
2628
2821
 
2822
+ mock_session = mock_get_session().begin().__enter__()
2823
+
2629
2824
  mock_pool_repo_update.assert_called_once_with(
2630
- 'TEST',
2825
+ mock_session,
2631
2826
  POOL_ID,
2632
2827
  provisioning_status=constants.ACTIVE)
2633
2828
 
@@ -2636,7 +2831,7 @@ class TestDatabaseTasks(base.TestCase):
2636
2831
  mark_pool_active.revert(POOL_ID)
2637
2832
 
2638
2833
  mock_pool_repo_update.assert_called_once_with(
2639
- 'TEST',
2834
+ mock_session,
2640
2835
  id=POOL_ID,
2641
2836
  provisioning_status=constants.ERROR)
2642
2837
 
@@ -2646,7 +2841,7 @@ class TestDatabaseTasks(base.TestCase):
2646
2841
  mark_pool_active.revert(POOL_ID)
2647
2842
 
2648
2843
  mock_pool_repo_update.assert_called_once_with(
2649
- 'TEST',
2844
+ mock_session,
2650
2845
  id=POOL_ID,
2651
2846
  provisioning_status=constants.ERROR)
2652
2847
 
@@ -2664,8 +2859,10 @@ class TestDatabaseTasks(base.TestCase):
2664
2859
  mark_pool_pending_create = (database_tasks.MarkPoolPendingCreateInDB())
2665
2860
  mark_pool_pending_create.execute(POOL_ID)
2666
2861
 
2862
+ mock_session = mock_get_session().begin().__enter__()
2863
+
2667
2864
  mock_pool_repo_update.assert_called_once_with(
2668
- 'TEST',
2865
+ mock_session,
2669
2866
  POOL_ID,
2670
2867
  provisioning_status=constants.PENDING_CREATE)
2671
2868
 
@@ -2674,7 +2871,7 @@ class TestDatabaseTasks(base.TestCase):
2674
2871
  mark_pool_pending_create.revert(POOL_ID)
2675
2872
 
2676
2873
  mock_pool_repo_update.assert_called_once_with(
2677
- 'TEST',
2874
+ mock_session,
2678
2875
  id=POOL_ID,
2679
2876
  provisioning_status=constants.ERROR)
2680
2877
 
@@ -2684,7 +2881,7 @@ class TestDatabaseTasks(base.TestCase):
2684
2881
  mark_pool_pending_create.revert(POOL_ID)
2685
2882
 
2686
2883
  mock_pool_repo_update.assert_called_once_with(
2687
- 'TEST',
2884
+ mock_session,
2688
2885
  id=POOL_ID,
2689
2886
  provisioning_status=constants.ERROR)
2690
2887
 
@@ -2702,8 +2899,10 @@ class TestDatabaseTasks(base.TestCase):
2702
2899
  mark_pool_pending_delete = (database_tasks.MarkPoolPendingDeleteInDB())
2703
2900
  mark_pool_pending_delete.execute(POOL_ID)
2704
2901
 
2902
+ mock_session = mock_get_session().begin().__enter__()
2903
+
2705
2904
  mock_pool_repo_update.assert_called_once_with(
2706
- 'TEST',
2905
+ mock_session,
2707
2906
  POOL_ID,
2708
2907
  provisioning_status=constants.PENDING_DELETE)
2709
2908
 
@@ -2712,7 +2911,7 @@ class TestDatabaseTasks(base.TestCase):
2712
2911
  mark_pool_pending_delete.revert(POOL_ID)
2713
2912
 
2714
2913
  mock_pool_repo_update.assert_called_once_with(
2715
- 'TEST',
2914
+ mock_session,
2716
2915
  id=POOL_ID,
2717
2916
  provisioning_status=constants.ERROR)
2718
2917
 
@@ -2722,7 +2921,7 @@ class TestDatabaseTasks(base.TestCase):
2722
2921
  mark_pool_pending_delete.revert(POOL_ID)
2723
2922
 
2724
2923
  mock_pool_repo_update.assert_called_once_with(
2725
- 'TEST',
2924
+ mock_session,
2726
2925
  id=POOL_ID,
2727
2926
  provisioning_status=constants.ERROR)
2728
2927
 
@@ -2741,8 +2940,10 @@ class TestDatabaseTasks(base.TestCase):
2741
2940
  MarkPoolPendingUpdateInDB())
2742
2941
  mark_pool_pending_update.execute(POOL_ID)
2743
2942
 
2943
+ mock_session = mock_get_session().begin().__enter__()
2944
+
2744
2945
  mock_pool_repo_update.assert_called_once_with(
2745
- 'TEST',
2946
+ mock_session,
2746
2947
  POOL_ID,
2747
2948
  provisioning_status=constants.PENDING_UPDATE)
2748
2949
 
@@ -2751,7 +2952,7 @@ class TestDatabaseTasks(base.TestCase):
2751
2952
  mark_pool_pending_update.revert(POOL_ID)
2752
2953
 
2753
2954
  mock_pool_repo_update.assert_called_once_with(
2754
- 'TEST',
2955
+ mock_session,
2755
2956
  id=POOL_ID,
2756
2957
  provisioning_status=constants.ERROR)
2757
2958
 
@@ -2761,7 +2962,7 @@ class TestDatabaseTasks(base.TestCase):
2761
2962
  mark_pool_pending_update.revert(POOL_ID)
2762
2963
 
2763
2964
  mock_pool_repo_update.assert_called_once_with(
2764
- 'TEST',
2965
+ mock_session,
2765
2966
  id=POOL_ID,
2766
2967
  provisioning_status=constants.ERROR)
2767
2968
 
@@ -2780,7 +2981,9 @@ class TestDatabaseTasks(base.TestCase):
2780
2981
  update_members = database_tasks.UpdatePoolMembersOperatingStatusInDB()
2781
2982
  update_members.execute(POOL_ID, constants.ONLINE)
2782
2983
 
2984
+ mock_session = mock_get_session().begin().__enter__()
2985
+
2783
2986
  mock_member_repo_update_pool_members.assert_called_once_with(
2784
- 'TEST',
2987
+ mock_session,
2785
2988
  POOL_ID,
2786
2989
  operating_status=constants.ONLINE)