octavia 13.0.0.0rc1__py3-none-any.whl → 14.0.0__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 (135) hide show
  1. octavia/amphorae/backends/agent/api_server/lvs_listener_base.py +1 -1
  2. octavia/amphorae/backends/agent/api_server/osutils.py +5 -5
  3. octavia/amphorae/backends/agent/api_server/plug.py +3 -2
  4. octavia/amphorae/backends/agent/api_server/rules_schema.py +52 -0
  5. octavia/amphorae/backends/agent/api_server/server.py +28 -1
  6. octavia/amphorae/backends/utils/interface.py +45 -6
  7. octavia/amphorae/backends/utils/interface_file.py +9 -6
  8. octavia/amphorae/backends/utils/nftable_utils.py +125 -0
  9. octavia/amphorae/drivers/driver_base.py +27 -0
  10. octavia/amphorae/drivers/haproxy/rest_api_driver.py +42 -10
  11. octavia/amphorae/drivers/health/heartbeat_udp.py +2 -2
  12. octavia/amphorae/drivers/keepalived/vrrp_rest_driver.py +2 -1
  13. octavia/amphorae/drivers/noop_driver/driver.py +25 -0
  14. octavia/api/app.py +3 -0
  15. octavia/api/common/pagination.py +2 -2
  16. octavia/api/drivers/amphora_driver/flavor_schema.py +6 -1
  17. octavia/api/root_controller.py +4 -1
  18. octavia/api/v2/controllers/health_monitor.py +0 -1
  19. octavia/api/v2/controllers/l7policy.py +0 -1
  20. octavia/api/v2/controllers/l7rule.py +0 -1
  21. octavia/api/v2/controllers/listener.py +0 -1
  22. octavia/api/v2/controllers/load_balancer.py +13 -7
  23. octavia/api/v2/controllers/member.py +6 -3
  24. octavia/api/v2/controllers/pool.py +6 -7
  25. octavia/api/v2/types/load_balancer.py +5 -1
  26. octavia/api/v2/types/pool.py +1 -1
  27. octavia/certificates/common/pkcs12.py +9 -9
  28. octavia/certificates/manager/barbican.py +24 -16
  29. octavia/certificates/manager/castellan_mgr.py +12 -7
  30. octavia/certificates/manager/local.py +4 -4
  31. octavia/certificates/manager/noop.py +106 -0
  32. octavia/cmd/driver_agent.py +1 -1
  33. octavia/cmd/health_checker.py +0 -4
  34. octavia/cmd/health_manager.py +1 -5
  35. octavia/cmd/house_keeping.py +1 -1
  36. octavia/cmd/interface.py +0 -4
  37. octavia/cmd/octavia_worker.py +0 -4
  38. octavia/cmd/prometheus_proxy.py +0 -5
  39. octavia/cmd/status.py +0 -6
  40. octavia/common/base_taskflow.py +1 -1
  41. octavia/common/clients.py +15 -3
  42. octavia/common/config.py +24 -6
  43. octavia/common/constants.py +34 -0
  44. octavia/common/data_models.py +3 -1
  45. octavia/common/exceptions.py +11 -0
  46. octavia/common/jinja/haproxy/combined_listeners/templates/macros.j2 +7 -5
  47. octavia/common/keystone.py +7 -7
  48. octavia/common/tls_utils/cert_parser.py +24 -10
  49. octavia/common/utils.py +6 -0
  50. octavia/common/validate.py +2 -2
  51. octavia/compute/drivers/nova_driver.py +23 -5
  52. octavia/controller/worker/task_utils.py +28 -6
  53. octavia/controller/worker/v2/controller_worker.py +49 -15
  54. octavia/controller/worker/v2/flows/amphora_flows.py +120 -21
  55. octavia/controller/worker/v2/flows/flow_utils.py +15 -13
  56. octavia/controller/worker/v2/flows/listener_flows.py +95 -5
  57. octavia/controller/worker/v2/flows/load_balancer_flows.py +74 -30
  58. octavia/controller/worker/v2/taskflow_jobboard_driver.py +17 -1
  59. octavia/controller/worker/v2/tasks/amphora_driver_tasks.py +145 -24
  60. octavia/controller/worker/v2/tasks/compute_tasks.py +1 -1
  61. octavia/controller/worker/v2/tasks/database_tasks.py +72 -41
  62. octavia/controller/worker/v2/tasks/lifecycle_tasks.py +97 -41
  63. octavia/controller/worker/v2/tasks/network_tasks.py +57 -60
  64. octavia/controller/worker/v2/tasks/shim_tasks.py +28 -0
  65. octavia/db/migration/alembic_migrations/versions/55874a4ceed6_add_l7policy_action_redirect_prefix.py +1 -1
  66. octavia/db/migration/alembic_migrations/versions/5a3ee5472c31_add_cert_expiration__infor_in_amphora_table.py +1 -1
  67. octavia/db/migration/alembic_migrations/versions/6742ca1b27c2_add_l7policy_redirect_http_code.py +1 -1
  68. octavia/db/migration/alembic_migrations/versions/db2a73e82626_add_vnic_type_for_vip.py +36 -0
  69. octavia/db/models.py +1 -0
  70. octavia/db/prepare.py +1 -1
  71. octavia/db/repositories.py +53 -34
  72. octavia/distributor/drivers/driver_base.py +1 -1
  73. octavia/network/base.py +3 -16
  74. octavia/network/data_models.py +4 -1
  75. octavia/network/drivers/neutron/allowed_address_pairs.py +27 -26
  76. octavia/network/drivers/noop_driver/driver.py +10 -23
  77. octavia/tests/common/sample_certs.py +115 -0
  78. octavia/tests/common/sample_haproxy_prometheus +1 -1
  79. octavia/tests/functional/amphorae/backend/agent/api_server/test_server.py +37 -0
  80. octavia/tests/functional/api/test_healthcheck.py +2 -2
  81. octavia/tests/functional/api/v2/base.py +1 -1
  82. octavia/tests/functional/api/v2/test_listener.py +45 -0
  83. octavia/tests/functional/api/v2/test_load_balancer.py +17 -0
  84. octavia/tests/functional/db/base.py +9 -0
  85. octavia/tests/functional/db/test_models.py +2 -1
  86. octavia/tests/functional/db/test_repositories.py +55 -99
  87. octavia/tests/unit/amphorae/backends/agent/api_server/test_osutils.py +4 -2
  88. octavia/tests/unit/amphorae/backends/utils/test_interface.py +201 -1
  89. octavia/tests/unit/amphorae/backends/utils/test_keepalivedlvs_query.py +1 -1
  90. octavia/tests/unit/amphorae/backends/utils/test_nftable_utils.py +194 -0
  91. octavia/tests/unit/amphorae/drivers/haproxy/test_rest_api_driver.py +27 -5
  92. octavia/tests/unit/amphorae/drivers/haproxy/test_rest_api_driver_1_0.py +15 -2
  93. octavia/tests/unit/amphorae/drivers/keepalived/test_vrrp_rest_driver.py +17 -0
  94. octavia/tests/unit/amphorae/drivers/noop_driver/test_driver.py +2 -1
  95. octavia/tests/unit/api/v2/types/test_pool.py +71 -0
  96. octavia/tests/unit/certificates/manager/test_barbican.py +3 -3
  97. octavia/tests/unit/certificates/manager/test_noop.py +53 -0
  98. octavia/tests/unit/common/jinja/haproxy/combined_listeners/test_jinja_cfg.py +16 -17
  99. octavia/tests/unit/common/sample_configs/sample_configs_combined.py +5 -3
  100. octavia/tests/unit/common/test_config.py +35 -0
  101. octavia/tests/unit/common/test_keystone.py +32 -0
  102. octavia/tests/unit/common/test_utils.py +39 -0
  103. octavia/tests/unit/compute/drivers/test_nova_driver.py +22 -0
  104. octavia/tests/unit/controller/worker/test_task_utils.py +58 -2
  105. octavia/tests/unit/controller/worker/v2/flows/test_amphora_flows.py +28 -5
  106. octavia/tests/unit/controller/worker/v2/flows/test_listener_flows.py +64 -16
  107. octavia/tests/unit/controller/worker/v2/flows/test_load_balancer_flows.py +49 -9
  108. octavia/tests/unit/controller/worker/v2/tasks/test_amphora_driver_tasks.py +265 -17
  109. octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks.py +101 -1
  110. octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks_quota.py +19 -19
  111. octavia/tests/unit/controller/worker/v2/tasks/test_network_tasks.py +105 -42
  112. octavia/tests/unit/controller/worker/v2/tasks/test_shim_tasks.py +33 -0
  113. octavia/tests/unit/controller/worker/v2/test_controller_worker.py +85 -42
  114. octavia/tests/unit/network/drivers/neutron/test_allowed_address_pairs.py +48 -51
  115. octavia/tests/unit/network/drivers/neutron/test_utils.py +2 -0
  116. octavia/tests/unit/network/drivers/noop_driver/test_driver.py +0 -7
  117. {octavia-13.0.0.0rc1.data → octavia-14.0.0.data}/data/share/octavia/diskimage-create/README.rst +6 -1
  118. {octavia-13.0.0.0rc1.data → octavia-14.0.0.data}/data/share/octavia/diskimage-create/diskimage-create.sh +10 -4
  119. {octavia-13.0.0.0rc1.data → octavia-14.0.0.data}/data/share/octavia/diskimage-create/requirements.txt +0 -2
  120. {octavia-13.0.0.0rc1.data → octavia-14.0.0.data}/data/share/octavia/diskimage-create/tox.ini +30 -13
  121. {octavia-13.0.0.0rc1.dist-info → octavia-14.0.0.dist-info}/AUTHORS +5 -0
  122. {octavia-13.0.0.0rc1.dist-info → octavia-14.0.0.dist-info}/METADATA +6 -6
  123. {octavia-13.0.0.0rc1.dist-info → octavia-14.0.0.dist-info}/RECORD +134 -126
  124. {octavia-13.0.0.0rc1.dist-info → octavia-14.0.0.dist-info}/entry_points.txt +1 -1
  125. octavia-14.0.0.dist-info/pbr.json +1 -0
  126. octavia-13.0.0.0rc1.dist-info/pbr.json +0 -1
  127. {octavia-13.0.0.0rc1.data → octavia-14.0.0.data}/data/share/octavia/LICENSE +0 -0
  128. {octavia-13.0.0.0rc1.data → octavia-14.0.0.data}/data/share/octavia/README.rst +0 -0
  129. {octavia-13.0.0.0rc1.data → octavia-14.0.0.data}/data/share/octavia/diskimage-create/image-tests.sh +0 -0
  130. {octavia-13.0.0.0rc1.data → octavia-14.0.0.data}/data/share/octavia/diskimage-create/test-requirements.txt +0 -0
  131. {octavia-13.0.0.0rc1.data → octavia-14.0.0.data}/data/share/octavia/diskimage-create/version.txt +0 -0
  132. {octavia-13.0.0.0rc1.data → octavia-14.0.0.data}/scripts/octavia-wsgi +0 -0
  133. {octavia-13.0.0.0rc1.dist-info → octavia-14.0.0.dist-info}/LICENSE +0 -0
  134. {octavia-13.0.0.0rc1.dist-info → octavia-14.0.0.dist-info}/WHEEL +0 -0
  135. {octavia-13.0.0.0rc1.dist-info → octavia-14.0.0.dist-info}/top_level.txt +0 -0
@@ -12,6 +12,7 @@
12
12
  # License for the specific language governing permissions and limitations
13
13
  # under the License.
14
14
 
15
+ from concurrent.futures import ThreadPoolExecutor
15
16
  import datetime
16
17
  import random
17
18
  from unittest import mock
@@ -161,7 +162,8 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
161
162
  'port_id': uuidutils.generate_uuid(),
162
163
  'subnet_id': uuidutils.generate_uuid(),
163
164
  'network_id': uuidutils.generate_uuid(),
164
- 'qos_policy_id': None, 'octavia_owned': True}
165
+ 'qos_policy_id': None, 'octavia_owned': True,
166
+ 'vnic_type': None}
165
167
  additional_vips = [{'subnet_id': uuidutils.generate_uuid(),
166
168
  'ip_address': '192.0.2.2'}]
167
169
  lb_dm = self.repos.create_load_balancer_and_vip(self.session, lb, vip,
@@ -509,6 +511,47 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
509
511
  project_id=project_id).all()
510
512
  self.assertEqual(1, len(lbs)) # After rollback: 1 (broken!)
511
513
 
514
+ def test_check_quota_met_check_deadlock(self):
515
+ # This test doesn't work with sqlite, using another backend is not
516
+ # straighforward, we need to update the connection_string passed to the
517
+ # __init__ func and also change some calls in the constructor (don't
518
+ # create the DB objects if we use a DB that was deployed for Octavia)
519
+ if 'sqlite://' in self.connection_string:
520
+ self.skipTest("The test for checking potential deadlocks "
521
+ "doesn't work with the sqlite backend")
522
+
523
+ conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
524
+ conf.config(group='api_settings', auth_strategy=constants.TESTING)
525
+ conf.config(group='quotas', default_load_balancer_quota=-1)
526
+
527
+ # Calling check_quota_met concurrently from many threads may
528
+ # have triggered a deadlock in the DB
529
+ # (Note: we run the test 8 times because it's not 100% reproducible)
530
+ # https://bugs.launchpad.net/octavia/+bug/2038798
531
+ for _ in range(8):
532
+ number_of_projects = 8
533
+ project_ids = (
534
+ uuidutils.generate_uuid()
535
+ for _ in range(number_of_projects))
536
+
537
+ with ThreadPoolExecutor(
538
+ max_workers=number_of_projects) as executor:
539
+ def _test_check_quota_met(project_id):
540
+ session = self.get_session()
541
+ session.begin()
542
+ self.assertFalse(self.repos.check_quota_met(
543
+ session, data_models.LoadBalancer,
544
+ project_id))
545
+ session.commit()
546
+
547
+ futs = []
548
+ for project_id in project_ids:
549
+ future = executor.submit(_test_check_quota_met, project_id)
550
+ futs.append(future)
551
+
552
+ for fut in futs:
553
+ fut.result()
554
+
512
555
  def test_check_quota_met(self):
513
556
 
514
557
  project_id = uuidutils.generate_uuid()
@@ -517,7 +560,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
517
560
  conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
518
561
  conf.config(group='api_settings', auth_strategy=constants.NOAUTH)
519
562
  self.assertFalse(self.repos.check_quota_met(self.session,
520
- self.session,
521
563
  data_models.LoadBalancer,
522
564
  project_id))
523
565
  conf.config(group='api_settings', auth_strategy=constants.TESTING)
@@ -525,7 +567,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
525
567
  # Test check for missing project_id
526
568
  self.assertRaises(exceptions.MissingProjectID,
527
569
  self.repos.check_quota_met,
528
- self.session, self.session,
570
+ self.session,
529
571
  data_models.LoadBalancer, None)
530
572
  self.session.commit()
531
573
 
@@ -533,7 +575,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
533
575
  project_id = uuidutils.generate_uuid()
534
576
  self.assertFalse(
535
577
  self.repos.check_quota_met(self.session,
536
- self.session,
537
578
  data_models.SessionPersistence,
538
579
  project_id))
539
580
  self.session.commit()
@@ -545,7 +586,7 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
545
586
  side_effect=db_exception.DBDeadlock)
546
587
  self.assertRaises(exceptions.ProjectBusyException,
547
588
  self.repos.check_quota_met,
548
- self.session, mock_session,
589
+ mock_session,
549
590
  data_models.LoadBalancer, project_id)
550
591
  self.session.commit()
551
592
 
@@ -554,7 +595,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
554
595
  project_id = uuidutils.generate_uuid()
555
596
  conf.config(group='quotas', default_load_balancer_quota=0)
556
597
  self.assertTrue(self.repos.check_quota_met(self.session,
557
- self.session,
558
598
  data_models.LoadBalancer,
559
599
  project_id))
560
600
  self.session.commit()
@@ -565,7 +605,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
565
605
  project_id = uuidutils.generate_uuid()
566
606
  conf.config(group='quotas', default_load_balancer_quota=1)
567
607
  self.assertFalse(self.repos.check_quota_met(self.session,
568
- self.session,
569
608
  data_models.LoadBalancer,
570
609
  project_id))
571
610
  self.session.commit()
@@ -573,7 +612,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
573
612
  self.session, project_id=project_id).in_use_load_balancer)
574
613
  # Test above project is now at quota
575
614
  self.assertTrue(self.repos.check_quota_met(self.session,
576
- self.session,
577
615
  data_models.LoadBalancer,
578
616
  project_id))
579
617
  self.session.commit()
@@ -585,7 +623,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
585
623
  conf.config(group='quotas',
586
624
  default_load_balancer_quota=constants.QUOTA_UNLIMITED)
587
625
  self.assertFalse(self.repos.check_quota_met(self.session,
588
- self.session,
589
626
  data_models.LoadBalancer,
590
627
  project_id))
591
628
  self.session.commit()
@@ -593,7 +630,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
593
630
  self.session, project_id=project_id).in_use_load_balancer)
594
631
  # Test above project adding another load balancer
595
632
  self.assertFalse(self.repos.check_quota_met(self.session,
596
- self.session,
597
633
  data_models.LoadBalancer,
598
634
  project_id))
599
635
  self.assertEqual(2, self.repos.quotas.get(
@@ -611,7 +647,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
611
647
  enabled=True)
612
648
  self.session.commit()
613
649
  self.assertTrue(self.repos.check_quota_met(self.session,
614
- self.session,
615
650
  data_models.LoadBalancer,
616
651
  project_id))
617
652
  self.session.commit()
@@ -628,7 +663,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
628
663
  enabled=True)
629
664
  self.session.commit()
630
665
  self.assertFalse(self.repos.check_quota_met(self.session,
631
- self.session,
632
666
  data_models.LoadBalancer,
633
667
  project_id))
634
668
  self.session.commit()
@@ -642,7 +676,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
642
676
  self.repos.quotas.update(self.session, project_id, quota=quota)
643
677
  self.session.commit()
644
678
  self.assertTrue(self.repos.check_quota_met(self.session,
645
- self.session,
646
679
  data_models.LoadBalancer,
647
680
  project_id))
648
681
  self.session.commit()
@@ -654,7 +687,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
654
687
  self.repos.quotas.update(self.session, project_id, quota=quota)
655
688
  self.session.commit()
656
689
  self.assertFalse(self.repos.check_quota_met(self.session,
657
- self.session,
658
690
  data_models.LoadBalancer,
659
691
  project_id))
660
692
  self.session.commit()
@@ -662,7 +694,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
662
694
  self.session, project_id=project_id).in_use_load_balancer)
663
695
  # Test above project is now at quota
664
696
  self.assertTrue(self.repos.check_quota_met(self.session,
665
- self.session,
666
697
  data_models.LoadBalancer,
667
698
  project_id))
668
699
  self.session.commit()
@@ -676,7 +707,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
676
707
  self.repos.quotas.update(self.session, project_id, quota=quota)
677
708
  self.session.commit()
678
709
  self.assertFalse(self.repos.check_quota_met(self.session,
679
- self.session,
680
710
  data_models.LoadBalancer,
681
711
  project_id))
682
712
  self.session.commit()
@@ -684,7 +714,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
684
714
  self.session, project_id=project_id).in_use_load_balancer)
685
715
  # Test above project adding another load balancer
686
716
  self.assertFalse(self.repos.check_quota_met(self.session,
687
- self.session,
688
717
  data_models.LoadBalancer,
689
718
  project_id))
690
719
  self.session.commit()
@@ -696,7 +725,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
696
725
  project_id = uuidutils.generate_uuid()
697
726
  conf.config(group='quotas', default_listener_quota=0)
698
727
  self.assertTrue(self.repos.check_quota_met(self.session,
699
- self.session,
700
728
  data_models.Listener,
701
729
  project_id))
702
730
  self.session.commit()
@@ -707,7 +735,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
707
735
  project_id = uuidutils.generate_uuid()
708
736
  conf.config(group='quotas', default_listener_quota=1)
709
737
  self.assertFalse(self.repos.check_quota_met(self.session,
710
- self.session,
711
738
  data_models.Listener,
712
739
  project_id))
713
740
  self.session.commit()
@@ -715,7 +742,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
715
742
  self.session, project_id=project_id).in_use_listener)
716
743
  # Test above project is now at quota
717
744
  self.assertTrue(self.repos.check_quota_met(self.session,
718
- self.session,
719
745
  data_models.Listener,
720
746
  project_id))
721
747
  self.session.commit()
@@ -727,7 +753,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
727
753
  conf.config(group='quotas',
728
754
  default_listener_quota=constants.QUOTA_UNLIMITED)
729
755
  self.assertFalse(self.repos.check_quota_met(self.session,
730
- self.session,
731
756
  data_models.Listener,
732
757
  project_id))
733
758
  self.session.commit()
@@ -735,7 +760,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
735
760
  self.session, project_id=project_id).in_use_listener)
736
761
  # Test above project adding another listener
737
762
  self.assertFalse(self.repos.check_quota_met(self.session,
738
- self.session,
739
763
  data_models.Listener,
740
764
  project_id))
741
765
  self.session.commit()
@@ -761,7 +785,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
761
785
  load_balancer_id=lb.id)
762
786
  self.session.commit()
763
787
  self.assertTrue(self.repos.check_quota_met(self.session,
764
- self.session,
765
788
  data_models.Listener,
766
789
  project_id))
767
790
  self.session.commit()
@@ -785,7 +808,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
785
808
  load_balancer_id=lb.id)
786
809
  self.session.commit()
787
810
  self.assertFalse(self.repos.check_quota_met(self.session,
788
- self.session,
789
811
  data_models.Listener,
790
812
  project_id))
791
813
  self.session.commit()
@@ -799,7 +821,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
799
821
  self.repos.quotas.update(self.session, project_id, quota=quota)
800
822
  self.session.commit()
801
823
  self.assertTrue(self.repos.check_quota_met(self.session,
802
- self.session,
803
824
  data_models.Listener,
804
825
  project_id))
805
826
  self.session.commit()
@@ -811,7 +832,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
811
832
  self.repos.quotas.update(self.session, project_id, quota=quota)
812
833
  self.session.commit()
813
834
  self.assertFalse(self.repos.check_quota_met(self.session,
814
- self.session,
815
835
  data_models.Listener,
816
836
  project_id))
817
837
  self.session.commit()
@@ -819,7 +839,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
819
839
  self.session, project_id=project_id).in_use_listener)
820
840
  # Test above project is now at quota
821
841
  self.assertTrue(self.repos.check_quota_met(self.session,
822
- self.session,
823
842
  data_models.Listener,
824
843
  project_id))
825
844
  self.session.commit()
@@ -833,7 +852,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
833
852
  self.repos.quotas.update(self.session, project_id, quota=quota)
834
853
  self.session.commit()
835
854
  self.assertFalse(self.repos.check_quota_met(self.session,
836
- self.session,
837
855
  data_models.Listener,
838
856
  project_id))
839
857
  self.session.commit()
@@ -841,7 +859,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
841
859
  self.session, project_id=project_id).in_use_listener)
842
860
  # Test above project adding another listener
843
861
  self.assertFalse(self.repos.check_quota_met(self.session,
844
- self.session,
845
862
  data_models.Listener,
846
863
  project_id))
847
864
  self.session.commit()
@@ -853,7 +870,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
853
870
  project_id = uuidutils.generate_uuid()
854
871
  conf.config(group='quotas', default_pool_quota=0)
855
872
  self.assertTrue(self.repos.check_quota_met(self.session,
856
- self.session,
857
873
  data_models.Pool,
858
874
  project_id))
859
875
  self.session.commit()
@@ -864,7 +880,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
864
880
  project_id = uuidutils.generate_uuid()
865
881
  conf.config(group='quotas', default_pool_quota=1)
866
882
  self.assertFalse(self.repos.check_quota_met(self.session,
867
- self.session,
868
883
  data_models.Pool,
869
884
  project_id))
870
885
  self.session.commit()
@@ -872,7 +887,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
872
887
  self.session, project_id=project_id).in_use_pool)
873
888
  # Test above project is now at quota
874
889
  self.assertTrue(self.repos.check_quota_met(self.session,
875
- self.session,
876
890
  data_models.Pool,
877
891
  project_id))
878
892
  self.session.commit()
@@ -884,7 +898,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
884
898
  conf.config(group='quotas',
885
899
  default_pool_quota=constants.QUOTA_UNLIMITED)
886
900
  self.assertFalse(self.repos.check_quota_met(self.session,
887
- self.session,
888
901
  data_models.Pool,
889
902
  project_id))
890
903
  self.session.commit()
@@ -892,7 +905,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
892
905
  self.session, project_id=project_id).in_use_pool)
893
906
  # Test above project adding another pool
894
907
  self.assertFalse(self.repos.check_quota_met(self.session,
895
- self.session,
896
908
  data_models.Pool,
897
909
  project_id))
898
910
  self.session.commit()
@@ -920,7 +932,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
920
932
  enabled=True, load_balancer_id=lb.id)
921
933
  self.session.commit()
922
934
  self.assertTrue(self.repos.check_quota_met(self.session,
923
- self.session,
924
935
  data_models.Pool,
925
936
  project_id))
926
937
  self.session.commit()
@@ -946,7 +957,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
946
957
  enabled=True, load_balancer_id=lb.id)
947
958
  self.session.commit()
948
959
  self.assertFalse(self.repos.check_quota_met(self.session,
949
- self.session,
950
960
  data_models.Pool,
951
961
  project_id))
952
962
  self.session.commit()
@@ -959,7 +969,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
959
969
  quota = {'pool': 0}
960
970
  self.repos.quotas.update(self.session, project_id, quota=quota)
961
971
  self.assertTrue(self.repos.check_quota_met(self.session,
962
- self.session,
963
972
  data_models.Pool,
964
973
  project_id))
965
974
  self.session.commit()
@@ -970,7 +979,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
970
979
  quota = {'pool': 1}
971
980
  self.repos.quotas.update(self.session, project_id, quota=quota)
972
981
  self.assertFalse(self.repos.check_quota_met(self.session,
973
- self.session,
974
982
  data_models.Pool,
975
983
  project_id))
976
984
  self.session.commit()
@@ -978,7 +986,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
978
986
  self.session, project_id=project_id).in_use_pool)
979
987
  # Test above project is now at quota
980
988
  self.assertTrue(self.repos.check_quota_met(self.session,
981
- self.session,
982
989
  data_models.Pool,
983
990
  project_id))
984
991
  self.session.commit()
@@ -992,7 +999,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
992
999
  self.repos.quotas.update(self.session, project_id, quota=quota)
993
1000
  self.session.commit()
994
1001
  self.assertFalse(self.repos.check_quota_met(self.session,
995
- self.session,
996
1002
  data_models.Pool,
997
1003
  project_id))
998
1004
  self.session.commit()
@@ -1000,7 +1006,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1000
1006
  self.session, project_id=project_id).in_use_pool)
1001
1007
  # Test above project adding another pool
1002
1008
  self.assertFalse(self.repos.check_quota_met(self.session,
1003
- self.session,
1004
1009
  data_models.Pool,
1005
1010
  project_id))
1006
1011
  self.session.commit()
@@ -1012,7 +1017,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1012
1017
  project_id = uuidutils.generate_uuid()
1013
1018
  conf.config(group='quotas', default_health_monitor_quota=0)
1014
1019
  self.assertTrue(self.repos.check_quota_met(self.session,
1015
- self.session,
1016
1020
  data_models.HealthMonitor,
1017
1021
  project_id))
1018
1022
  self.session.commit()
@@ -1023,7 +1027,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1023
1027
  project_id = uuidutils.generate_uuid()
1024
1028
  conf.config(group='quotas', default_health_monitor_quota=1)
1025
1029
  self.assertFalse(self.repos.check_quota_met(self.session,
1026
- self.session,
1027
1030
  data_models.HealthMonitor,
1028
1031
  project_id))
1029
1032
  self.session.commit()
@@ -1031,7 +1034,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1031
1034
  self.session, project_id=project_id).in_use_health_monitor)
1032
1035
  # Test above project is now at quota
1033
1036
  self.assertTrue(self.repos.check_quota_met(self.session,
1034
- self.session,
1035
1037
  data_models.HealthMonitor,
1036
1038
  project_id))
1037
1039
  self.session.commit()
@@ -1043,7 +1045,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1043
1045
  conf.config(group='quotas',
1044
1046
  default_health_monitor_quota=constants.QUOTA_UNLIMITED)
1045
1047
  self.assertFalse(self.repos.check_quota_met(self.session,
1046
- self.session,
1047
1048
  data_models.HealthMonitor,
1048
1049
  project_id))
1049
1050
  self.session.commit()
@@ -1051,7 +1052,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1051
1052
  self.session, project_id=project_id).in_use_health_monitor)
1052
1053
  # Test above project adding another health monitor
1053
1054
  self.assertFalse(self.repos.check_quota_met(self.session,
1054
- self.session,
1055
1055
  data_models.HealthMonitor,
1056
1056
  project_id))
1057
1057
  self.session.commit()
@@ -1087,7 +1087,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1087
1087
  enabled=True, pool_id=pool.id)
1088
1088
  self.session.commit()
1089
1089
  self.assertTrue(self.repos.check_quota_met(self.session,
1090
- self.session,
1091
1090
  data_models.HealthMonitor,
1092
1091
  project_id))
1093
1092
  self.session.commit()
@@ -1121,7 +1120,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1121
1120
  enabled=True, pool_id=pool.id)
1122
1121
  self.session.commit()
1123
1122
  self.assertFalse(self.repos.check_quota_met(self.session,
1124
- self.session,
1125
1123
  data_models.HealthMonitor,
1126
1124
  project_id))
1127
1125
  self.session.commit()
@@ -1135,7 +1133,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1135
1133
  self.repos.quotas.update(self.session, project_id, quota=quota)
1136
1134
  self.session.commit()
1137
1135
  self.assertTrue(self.repos.check_quota_met(self.session,
1138
- self.session,
1139
1136
  data_models.HealthMonitor,
1140
1137
  project_id))
1141
1138
  self.session.commit()
@@ -1146,7 +1143,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1146
1143
  quota = {'health_monitor': 1}
1147
1144
  self.repos.quotas.update(self.session, project_id, quota=quota)
1148
1145
  self.assertFalse(self.repos.check_quota_met(self.session,
1149
- self.session,
1150
1146
  data_models.HealthMonitor,
1151
1147
  project_id))
1152
1148
  self.session.commit()
@@ -1154,7 +1150,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1154
1150
  self.session, project_id=project_id).in_use_health_monitor)
1155
1151
  # Test above project is now at quota
1156
1152
  self.assertTrue(self.repos.check_quota_met(self.session,
1157
- self.session,
1158
1153
  data_models.HealthMonitor,
1159
1154
  project_id))
1160
1155
  self.session.commit()
@@ -1168,7 +1163,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1168
1163
  self.repos.quotas.update(self.session, project_id, quota=quota)
1169
1164
  self.session.commit()
1170
1165
  self.assertFalse(self.repos.check_quota_met(self.session,
1171
- self.session,
1172
1166
  data_models.HealthMonitor,
1173
1167
  project_id))
1174
1168
  self.session.commit()
@@ -1176,7 +1170,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1176
1170
  self.session, project_id=project_id).in_use_health_monitor)
1177
1171
  # Test above project adding another health monitor
1178
1172
  self.assertFalse(self.repos.check_quota_met(self.session,
1179
- self.session,
1180
1173
  data_models.HealthMonitor,
1181
1174
  project_id))
1182
1175
  self.session.commit()
@@ -1188,7 +1181,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1188
1181
  project_id = uuidutils.generate_uuid()
1189
1182
  conf.config(group='quotas', default_member_quota=0)
1190
1183
  self.assertTrue(self.repos.check_quota_met(self.session,
1191
- self.session,
1192
1184
  data_models.Member,
1193
1185
  project_id))
1194
1186
  self.session.commit()
@@ -1199,7 +1191,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1199
1191
  project_id = uuidutils.generate_uuid()
1200
1192
  conf.config(group='quotas', default_member_quota=1)
1201
1193
  self.assertFalse(self.repos.check_quota_met(self.session,
1202
- self.session,
1203
1194
  data_models.Member,
1204
1195
  project_id))
1205
1196
  self.session.commit()
@@ -1207,7 +1198,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1207
1198
  self.session, project_id=project_id).in_use_member)
1208
1199
  # Test above project is now at quota
1209
1200
  self.assertTrue(self.repos.check_quota_met(self.session,
1210
- self.session,
1211
1201
  data_models.Member,
1212
1202
  project_id))
1213
1203
  self.session.commit()
@@ -1219,7 +1209,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1219
1209
  conf.config(group='quotas',
1220
1210
  default_member_quota=constants.QUOTA_UNLIMITED)
1221
1211
  self.assertFalse(self.repos.check_quota_met(self.session,
1222
- self.session,
1223
1212
  data_models.Member,
1224
1213
  project_id))
1225
1214
  self.session.commit()
@@ -1227,7 +1216,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1227
1216
  self.session, project_id=project_id).in_use_member)
1228
1217
  # Test above project adding another member
1229
1218
  self.assertFalse(self.repos.check_quota_met(self.session,
1230
- self.session,
1231
1219
  data_models.Member,
1232
1220
  project_id))
1233
1221
  self.session.commit()
@@ -1263,7 +1251,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1263
1251
  enabled=True, pool_id=pool.id, backup=False)
1264
1252
  self.session.commit()
1265
1253
  self.assertTrue(self.repos.check_quota_met(self.session,
1266
- self.session,
1267
1254
  data_models.Member,
1268
1255
  project_id))
1269
1256
  self.session.commit()
@@ -1297,7 +1284,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1297
1284
  enabled=True, pool_id=pool.id, backup=False)
1298
1285
  self.session.commit()
1299
1286
  self.assertFalse(self.repos.check_quota_met(self.session,
1300
- self.session,
1301
1287
  data_models.Member,
1302
1288
  project_id))
1303
1289
  self.session.commit()
@@ -1311,7 +1297,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1311
1297
  self.repos.quotas.update(self.session, project_id, quota=quota)
1312
1298
  self.session.commit()
1313
1299
  self.assertTrue(self.repos.check_quota_met(self.session,
1314
- self.session,
1315
1300
  data_models.Member,
1316
1301
  project_id))
1317
1302
  self.session.commit()
@@ -1323,7 +1308,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1323
1308
  self.repos.quotas.update(self.session, project_id, quota=quota)
1324
1309
  self.session.commit()
1325
1310
  self.assertFalse(self.repos.check_quota_met(self.session,
1326
- self.session,
1327
1311
  data_models.Member,
1328
1312
  project_id))
1329
1313
  self.session.commit()
@@ -1331,7 +1315,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1331
1315
  self.session, project_id=project_id).in_use_member)
1332
1316
  # Test above project is now at quota
1333
1317
  self.assertTrue(self.repos.check_quota_met(self.session,
1334
- self.session,
1335
1318
  data_models.Member,
1336
1319
  project_id))
1337
1320
  self.session.commit()
@@ -1345,7 +1328,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1345
1328
  self.repos.quotas.update(self.session, project_id, quota=quota)
1346
1329
  self.session.commit()
1347
1330
  self.assertFalse(self.repos.check_quota_met(self.session,
1348
- self.session,
1349
1331
  data_models.Member,
1350
1332
  project_id))
1351
1333
  self.session.commit()
@@ -1353,7 +1335,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1353
1335
  self.session, project_id=project_id).in_use_member)
1354
1336
  # Test above project adding another member
1355
1337
  self.assertFalse(self.repos.check_quota_met(self.session,
1356
- self.session,
1357
1338
  data_models.Member,
1358
1339
  project_id))
1359
1340
  self.session.commit()
@@ -1365,7 +1346,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1365
1346
  project_id = uuidutils.generate_uuid()
1366
1347
  conf.config(group='quotas', default_l7policy_quota=0)
1367
1348
  self.assertTrue(self.repos.check_quota_met(self.session,
1368
- self.session,
1369
1349
  data_models.L7Policy,
1370
1350
  project_id))
1371
1351
  self.session.commit()
@@ -1376,7 +1356,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1376
1356
  project_id = uuidutils.generate_uuid()
1377
1357
  conf.config(group='quotas', default_l7policy_quota=1)
1378
1358
  self.assertFalse(self.repos.check_quota_met(self.session,
1379
- self.session,
1380
1359
  data_models.L7Policy,
1381
1360
  project_id))
1382
1361
  self.session.commit()
@@ -1384,7 +1363,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1384
1363
  self.session, project_id=project_id).in_use_l7policy)
1385
1364
  # Test above project is now at quota
1386
1365
  self.assertTrue(self.repos.check_quota_met(self.session,
1387
- self.session,
1388
1366
  data_models.L7Policy,
1389
1367
  project_id))
1390
1368
  self.session.commit()
@@ -1396,7 +1374,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1396
1374
  conf.config(group='quotas',
1397
1375
  default_l7policy_quota=constants.QUOTA_UNLIMITED)
1398
1376
  self.assertFalse(self.repos.check_quota_met(self.session,
1399
- self.session,
1400
1377
  data_models.L7Policy,
1401
1378
  project_id))
1402
1379
  self.session.commit()
@@ -1404,7 +1381,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1404
1381
  self.session, project_id=project_id).in_use_l7policy)
1405
1382
  # Test above project adding another l7policy
1406
1383
  self.assertFalse(self.repos.check_quota_met(self.session,
1407
- self.session,
1408
1384
  data_models.L7Policy,
1409
1385
  project_id))
1410
1386
  self.session.commit()
@@ -1437,7 +1413,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1437
1413
  id=uuidutils.generate_uuid())
1438
1414
  self.session.commit()
1439
1415
  self.assertTrue(self.repos.check_quota_met(self.session,
1440
- self.session,
1441
1416
  data_models.L7Policy,
1442
1417
  project_id))
1443
1418
  self.session.commit()
@@ -1468,7 +1443,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1468
1443
  id=uuidutils.generate_uuid())
1469
1444
  self.session.commit()
1470
1445
  self.assertFalse(self.repos.check_quota_met(self.session,
1471
- self.session,
1472
1446
  data_models.L7Policy,
1473
1447
  project_id))
1474
1448
  self.session.commit()
@@ -1482,7 +1456,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1482
1456
  self.repos.quotas.update(self.session, project_id, quota=quota)
1483
1457
  self.session.commit()
1484
1458
  self.assertTrue(self.repos.check_quota_met(self.session,
1485
- self.session,
1486
1459
  data_models.L7Policy,
1487
1460
  project_id))
1488
1461
  self.session.commit()
@@ -1494,7 +1467,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1494
1467
  self.repos.quotas.update(self.session, project_id, quota=quota)
1495
1468
  self.session.commit()
1496
1469
  self.assertFalse(self.repos.check_quota_met(self.session,
1497
- self.session,
1498
1470
  data_models.L7Policy,
1499
1471
  project_id))
1500
1472
  self.session.commit()
@@ -1502,7 +1474,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1502
1474
  self.session, project_id=project_id).in_use_l7policy)
1503
1475
  # Test above project is now at quota
1504
1476
  self.assertTrue(self.repos.check_quota_met(self.session,
1505
- self.session,
1506
1477
  data_models.L7Policy,
1507
1478
  project_id))
1508
1479
  self.session.commit()
@@ -1516,7 +1487,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1516
1487
  self.repos.quotas.update(self.session, project_id, quota=quota)
1517
1488
  self.session.commit()
1518
1489
  self.assertFalse(self.repos.check_quota_met(self.session,
1519
- self.session,
1520
1490
  data_models.L7Policy,
1521
1491
  project_id))
1522
1492
  self.session.commit()
@@ -1524,7 +1494,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1524
1494
  self.session, project_id=project_id).in_use_l7policy)
1525
1495
  # Test above project adding another l7policy
1526
1496
  self.assertFalse(self.repos.check_quota_met(self.session,
1527
- self.session,
1528
1497
  data_models.L7Policy,
1529
1498
  project_id))
1530
1499
  self.session.commit()
@@ -1536,7 +1505,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1536
1505
  project_id = uuidutils.generate_uuid()
1537
1506
  conf.config(group='quotas', default_l7rule_quota=0)
1538
1507
  self.assertTrue(self.repos.check_quota_met(self.session,
1539
- self.session,
1540
1508
  data_models.L7Rule,
1541
1509
  project_id))
1542
1510
  self.session.commit()
@@ -1547,7 +1515,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1547
1515
  project_id = uuidutils.generate_uuid()
1548
1516
  conf.config(group='quotas', default_l7rule_quota=1)
1549
1517
  self.assertFalse(self.repos.check_quota_met(self.session,
1550
- self.session,
1551
1518
  data_models.L7Rule,
1552
1519
  project_id))
1553
1520
  self.session.commit()
@@ -1555,7 +1522,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1555
1522
  self.session, project_id=project_id).in_use_l7rule)
1556
1523
  # Test above project is now at quota
1557
1524
  self.assertTrue(self.repos.check_quota_met(self.session,
1558
- self.session,
1559
1525
  data_models.L7Rule,
1560
1526
  project_id))
1561
1527
  self.session.commit()
@@ -1567,7 +1533,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1567
1533
  conf.config(group='quotas',
1568
1534
  default_l7rule_quota=constants.QUOTA_UNLIMITED)
1569
1535
  self.assertFalse(self.repos.check_quota_met(self.session,
1570
- self.session,
1571
1536
  data_models.L7Rule,
1572
1537
  project_id))
1573
1538
  self.session.commit()
@@ -1575,7 +1540,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1575
1540
  self.session, project_id=project_id).in_use_l7rule)
1576
1541
  # Test above project adding another l7rule
1577
1542
  self.assertFalse(self.repos.check_quota_met(self.session,
1578
- self.session,
1579
1543
  data_models.L7Rule,
1580
1544
  project_id))
1581
1545
  self.session.commit()
@@ -1615,7 +1579,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1615
1579
  operating_status=constants.ONLINE, project_id=project_id)
1616
1580
  self.session.commit()
1617
1581
  self.assertTrue(self.repos.check_quota_met(self.session,
1618
- self.session,
1619
1582
  data_models.L7Rule,
1620
1583
  project_id))
1621
1584
  self.session.commit()
@@ -1653,7 +1616,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1653
1616
  operating_status=constants.ONLINE, project_id=project_id)
1654
1617
  self.session.commit()
1655
1618
  self.assertFalse(self.repos.check_quota_met(self.session,
1656
- self.session,
1657
1619
  data_models.L7Rule,
1658
1620
  project_id))
1659
1621
  self.session.commit()
@@ -1667,7 +1629,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1667
1629
  self.repos.quotas.update(self.session, project_id, quota=quota)
1668
1630
  self.session.commit()
1669
1631
  self.assertTrue(self.repos.check_quota_met(self.session,
1670
- self.session,
1671
1632
  data_models.L7Rule,
1672
1633
  project_id))
1673
1634
  self.session.commit()
@@ -1679,7 +1640,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1679
1640
  self.repos.quotas.update(self.session, project_id, quota=quota)
1680
1641
  self.session.commit()
1681
1642
  self.assertFalse(self.repos.check_quota_met(self.session,
1682
- self.session,
1683
1643
  data_models.L7Rule,
1684
1644
  project_id))
1685
1645
  self.session.commit()
@@ -1687,7 +1647,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1687
1647
  self.session, project_id=project_id).in_use_l7rule)
1688
1648
  # Test above project is now at quota
1689
1649
  self.assertTrue(self.repos.check_quota_met(self.session,
1690
- self.session,
1691
1650
  data_models.L7Rule,
1692
1651
  project_id))
1693
1652
  self.session.commit()
@@ -1701,7 +1660,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1701
1660
  self.repos.quotas.update(self.session, project_id, quota=quota)
1702
1661
  self.session.commit()
1703
1662
  self.assertFalse(self.repos.check_quota_met(self.session,
1704
- self.session,
1705
1663
  data_models.L7Rule,
1706
1664
  project_id))
1707
1665
  self.session.commit()
@@ -1709,7 +1667,6 @@ class AllRepositoriesTest(base.OctaviaDBTestBase):
1709
1667
  self.session, project_id=project_id).in_use_l7rule)
1710
1668
  # Test above project adding another l7rule
1711
1669
  self.assertFalse(self.repos.check_quota_met(self.session,
1712
- self.session,
1713
1670
  data_models.L7Rule,
1714
1671
  project_id))
1715
1672
  self.session.commit()
@@ -2805,6 +2762,14 @@ class TestListenerRepositoryTest(BaseRepositoryTest):
2805
2762
  self.assertEqual(constants.PENDING_UPDATE,
2806
2763
  new_listener.provisioning_status)
2807
2764
 
2765
+ def test_get_port_protocol_cidr_for_lb(self):
2766
+ self.create_listener(self.FAKE_UUID_1, 80,
2767
+ provisioning_status=constants.ACTIVE)
2768
+ rules = self.listener_repo.get_port_protocol_cidr_for_lb(
2769
+ self.session, self.FAKE_UUID_1)
2770
+ self.assertEqual([{'protocol': 'TCP', 'cidr': None, 'port': 80}],
2771
+ rules)
2772
+
2808
2773
 
2809
2774
  class ListenerStatisticsRepositoryTest(BaseRepositoryTest):
2810
2775
 
@@ -3721,21 +3686,12 @@ class AmphoraRepositoryTest(BaseRepositoryTest):
3721
3686
  self.assertIsInstance(new_amphora, data_models.Amphora)
3722
3687
 
3723
3688
  def test_get_lb_for_amphora(self):
3724
- # TODO(bzhao) this test will raise error as there are more than 64
3725
- # tables in a Join statement in sqlite env. This is a new issue when
3726
- # we introduce resources tags and client certificates, both of them
3727
- # are 1:1 relationship. But we can image that if we have many
3728
- # associated loadbalancer subresources, such as listeners, pools,
3729
- # members and l7 resources. Even though, we don't have tags and
3730
- # client certificates features, we will still hit this issue in
3731
- # sqlite env.
3732
- self.skipTest("No idea how this should work yet")
3733
3689
  amphora = self.create_amphora(self.FAKE_UUID_1)
3734
3690
  self.amphora_repo.associate(self.session, self.lb.id, amphora.id)
3735
3691
  self.session.commit()
3736
3692
  lb = self.amphora_repo.get_lb_for_amphora(self.session, amphora.id)
3737
3693
  self.assertIsNotNone(lb)
3738
- self.assertEqual(self.lb, lb)
3694
+ self.assertEqual(self.lb.id, lb.id)
3739
3695
 
3740
3696
  def test_get_all_deleted_expiring_amphora(self):
3741
3697
  exp_age = datetime.timedelta(seconds=self.FAKE_EXP_AGE)