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
@@ -37,8 +37,8 @@ class TestNeutronUtils(base.TestCase):
37
37
  if hay[key] is not None})
38
38
  self.assertIn(newneedle, newhaystack)
39
39
 
40
- def test_convert_subnet_dict_to_model(self):
41
- model_obj = utils.convert_subnet_dict_to_model(
40
+ def test_convert_subnet_to_model(self):
41
+ model_obj = utils.convert_subnet_to_model(
42
42
  t_constants.MOCK_SUBNET)
43
43
  assert_dict = dict(
44
44
  id=t_constants.MOCK_SUBNET_ID,
@@ -52,8 +52,8 @@ class TestNeutronUtils(base.TestCase):
52
52
  )
53
53
  self._compare_ignore_value_none(model_obj.to_dict(), assert_dict)
54
54
 
55
- def test_convert_port_dict_to_model(self):
56
- model_obj = utils.convert_port_dict_to_model(
55
+ def test_convert_port_to_model(self):
56
+ model_obj = utils.convert_port_to_model(
57
57
  t_constants.MOCK_NEUTRON_PORT)
58
58
  assert_dict = dict(
59
59
  id=t_constants.MOCK_PORT_ID,
@@ -69,12 +69,12 @@ class TestNeutronUtils(base.TestCase):
69
69
  security_group_ids=[],
70
70
  )
71
71
  self._compare_ignore_value_none(model_obj.to_dict(), assert_dict)
72
- fixed_ips = t_constants.MOCK_NEUTRON_PORT['port']['fixed_ips']
72
+ fixed_ips = t_constants.MOCK_NEUTRON_PORT['fixed_ips']
73
73
  for ip in model_obj.fixed_ips:
74
74
  self._in_ignore_value_none(ip.to_dict(), fixed_ips)
75
75
 
76
- def test_convert_network_dict_to_model(self):
77
- model_obj = utils.convert_network_dict_to_model(
76
+ def test_convert_network_to_model(self):
77
+ model_obj = utils.convert_network_to_model(
78
78
  t_constants.MOCK_NETWORK)
79
79
  assert_dict = dict(
80
80
  id=t_constants.MOCK_NETWORK_ID,
@@ -86,11 +86,12 @@ class TestNeutronUtils(base.TestCase):
86
86
  provider_network_type=t_constants.MOCK_NETWORK_TYPE,
87
87
  provider_physical_network=t_constants.MOCK_NETWORK_NAME,
88
88
  provider_segmentation_id=t_constants.MOCK_SEGMENTATION_ID,
89
- router_external=t_constants.MOCK_ROUTER_EXTERNAL
89
+ router_external=t_constants.MOCK_ROUTER_EXTERNAL,
90
+ port_security_enabled=False,
90
91
  )
91
92
  model_dict = model_obj.to_dict()
92
93
  model_dict['subnets'] = model_obj.subnets
93
- self._compare_ignore_value_none(model_dict, assert_dict)
94
+ self._compare_ignore_value_none(assert_dict, model_dict)
94
95
 
95
96
  def test_convert_fixed_ip_dict_to_model(self):
96
97
  model_obj = utils.convert_fixed_ip_dict_to_model(
@@ -99,31 +100,14 @@ class TestNeutronUtils(base.TestCase):
99
100
  subnet_id=t_constants.MOCK_SUBNET_ID,
100
101
  ip_address=t_constants.MOCK_IP_ADDRESS
101
102
  )
102
- self._compare_ignore_value_none(model_obj.to_dict(), assert_dict)
103
+ self._compare_ignore_value_none(assert_dict, model_obj.to_dict())
103
104
 
104
- def test_convert_floatingip_dict_to_model(self):
105
- model_obj = utils.convert_floatingip_dict_to_model(
106
- t_constants.MOCK_FLOATING_IP)
107
- assert_dict = dict(
108
- id=t_constants.MOCK_FLOATING_IP_ID,
109
- description=t_constants.MOCK_FLOATING_IP_DESC,
110
- project_id=t_constants.MOCK_PROJECT_ID,
111
- status=t_constants.MOCK_STATUS,
112
- router_id=t_constants.MOCK_ROUTER_ID,
113
- port_id=t_constants.MOCK_PORT_ID,
114
- floating_network_id=t_constants.MOCK_NETWORK_ID,
115
- network_id=t_constants.MOCK_NETWORK_ID,
116
- floating_ip_address=t_constants.MOCK_IP_ADDRESS,
117
- fixed_ip_address=t_constants.MOCK_IP_ADDRESS2,
118
- fixed_port_id=t_constants.MOCK_PORT_ID2
119
- )
120
- self._compare_ignore_value_none(model_obj.to_dict(), assert_dict)
121
-
122
- def test_convert_network_ip_availability_dict_to_model(self):
123
- model_obj = utils.convert_network_ip_availability_dict_to_model(
105
+ def test_convert_network_ip_availability_to_model(self):
106
+ model_obj = utils.convert_network_ip_availability_to_model(
124
107
  t_constants.MOCK_NETWORK_IP_AVAILABILITY)
125
108
  assert_dict = dict(
126
109
  network_id=t_constants.MOCK_NETWORK_ID,
110
+ project_id=t_constants.MOCK_PROJECT_ID,
127
111
  tenant_id=t_constants.MOCK_PROJECT_ID,
128
112
  network_name=t_constants.MOCK_NETWORK_NAME,
129
113
  total_ips=t_constants.MOCK_NETWORK_TOTAL_IPS,
@@ -30,7 +30,7 @@ class TestStatsUpdateDb(base.TestCase):
30
30
  self.listener_id = uuidutils.generate_uuid()
31
31
 
32
32
  @mock.patch('octavia.db.repositories.ListenerStatisticsRepository')
33
- @mock.patch('octavia.db.api.get_session')
33
+ @mock.patch('octavia.db.api.session')
34
34
  def test_update_stats(self, mock_get_session, mock_listener_stats_repo):
35
35
  bytes_in1 = random.randrange(1000000000)
36
36
  bytes_out1 = random.randrange(1000000000)
@@ -61,18 +61,20 @@ class TestStatsUpdateDb(base.TestCase):
61
61
  request_errors=request_errors2
62
62
  )
63
63
 
64
+ mock_session = mock_get_session().begin().__enter__()
65
+
64
66
  update_db.StatsUpdateDb().update_stats(
65
67
  [stats_1, stats_2], deltas=False)
66
68
 
67
69
  mock_listener_stats_repo().replace.assert_has_calls([
68
- mock.call(mock_get_session(), stats_1),
69
- mock.call(mock_get_session(), stats_2)
70
+ mock.call(mock_session, stats_1),
71
+ mock.call(mock_session, stats_2)
70
72
  ])
71
73
 
72
74
  update_db.StatsUpdateDb().update_stats(
73
75
  [stats_1, stats_2], deltas=True)
74
76
 
75
77
  mock_listener_stats_repo().increment.assert_has_calls([
76
- mock.call(mock_get_session(), stats_1),
77
- mock.call(mock_get_session(), stats_2)
78
+ mock.call(mock_session, stats_1),
79
+ mock.call(mock_session, stats_2)
78
80
  ])
@@ -39,7 +39,7 @@ The project source code repository is located at
39
39
  https://opendev.org/openstack/octavia
40
40
 
41
41
  Project status, bugs, and requests for feature enhancements are tracked on
42
- https://storyboard.openstack.org/#!/project/openstack/octavia
42
+ https://launchpad.net/octavia
43
43
 
44
44
  For more information on project direction and guiding principles for
45
45
  contributors, please see the CONSTITUTION.rst file in this directory, or
@@ -45,6 +45,7 @@ Cedric Brandily <zzelle@gmail.com>
45
45
  Chandan Kumar <chkumar246@gmail.com>
46
46
  Chandan Kumar <chkumar@redhat.com>
47
47
  Chaozhe.Chen <chaozhe.chen@easystack.cn>
48
+ Chen Tianhao <tianhao.chen@easystack.cn>
48
49
  Christian Berendt <berendt@b1-systems.de>
49
50
  Chuck Wilson <chuck.wilson+ubuntu@gmail.com>
50
51
  Claudiu Belu <cbelu@cloudbasesolutions.com>
@@ -70,11 +71,13 @@ Erik Olof Gunnar Andersson <eandersson@blizzard.com>
70
71
  Evan Gray <evanscottgray@gmail.com>
71
72
  Evgeny Fedoruk <evgenyf@radware.com>
72
73
  Fei Long Wang <flwang@catalyst.net.nz>
74
+ Fernando Royo <froyo@redhat.com>
73
75
  Flavio Percoco <flaper87@gmail.com>
74
76
  Franklin Naval <franklin.naval@rackspace.com>
75
77
  Frode Nordahl <frode.nordahl@canonical.com>
76
78
  Ganpat Agarwal <gans.developer@gmail.com>
77
79
  Gary Kotton <gkotton@vmware.com>
80
+ Gaudenz Steinlin <gaudenz.steinlin@cloudscale.ch>
78
81
  Gerard Braad <me@gbraad.nl>
79
82
  German Eichberger <German.eichberger@rackspace.com>
80
83
  German Eichberger <german.eichberger@hp.com>
@@ -192,6 +195,7 @@ Stanislav Dmitriev <sdmitriev1@gmail.com>
192
195
  Stefan Nica <snica@suse.com>
193
196
  Stephen Balukoff <sbalukoff@bluebox.net>
194
197
  Stephen Balukoff <stephen@balukoff.com>
198
+ Stephen Finucane <stephenfin@redhat.com>
195
199
  Susanne Balle <sleipnir012@gmail.com>
196
200
  Sven Wegener <sven.wegener@inovex.de>
197
201
  Takashi Kajinami <tkajinam@redhat.com>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: octavia
3
- Version: 12.0.0.0rc2
3
+ Version: 13.0.0.0rc1
4
4
  Summary: OpenStack Octavia Scalable Load Balancer as a Service
5
5
  Home-page: https://docs.openstack.org/octavia/latest/
6
6
  Author: OpenStack
@@ -37,7 +37,8 @@ Requires-Dist: gunicorn (>=19.9.0)
37
37
  Requires-Dist: jsonschema (>=3.2.0)
38
38
  Requires-Dist: keystoneauth1 (>=3.4.0)
39
39
  Requires-Dist: keystonemiddleware (>=9.5.0)
40
- Requires-Dist: octavia-lib (>=3.1.0)
40
+ Requires-Dist: octavia-lib (>=3.3.0)
41
+ Requires-Dist: openstacksdk (>=0.103.0)
41
42
  Requires-Dist: oslo.config (>=6.8.0)
42
43
  Requires-Dist: oslo.context (>=2.22.0)
43
44
  Requires-Dist: oslo.db[mysql] (>=8.4.0)
@@ -60,7 +61,6 @@ Requires-Dist: python-barbicanclient (>=4.5.2)
60
61
  Requires-Dist: python-cinderclient (>=3.3.0)
61
62
  Requires-Dist: python-dateutil (>=2.7.0)
62
63
  Requires-Dist: python-glanceclient (>=2.8.0)
63
- Requires-Dist: python-neutronclient (>=6.7.0)
64
64
  Requires-Dist: python-novaclient (>=9.1.0)
65
65
  Requires-Dist: requests (>=2.23.0)
66
66
  Requires-Dist: rfc3986 (>=1.2.0)
@@ -136,7 +136,7 @@ The project source code repository is located at
136
136
  https://opendev.org/openstack/octavia
137
137
 
138
138
  Project status, bugs, and requests for feature enhancements are tracked on
139
- https://storyboard.openstack.org/#!/project/openstack/octavia
139
+ https://launchpad.net/octavia
140
140
 
141
141
  For more information on project direction and guiding principles for
142
142
  contributors, please see the CONSTITUTION.rst file in this directory, or