octavia 12.0.0.0rc2__py3-none-any.whl → 13.0.0.0rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- octavia/amphorae/backends/agent/api_server/osutils.py +1 -0
- octavia/amphorae/backends/agent/api_server/plug.py +21 -7
- octavia/amphorae/backends/agent/api_server/templates/amphora-netns.systemd.j2 +2 -2
- octavia/amphorae/backends/agent/api_server/util.py +21 -0
- octavia/amphorae/backends/health_daemon/health_daemon.py +9 -3
- octavia/amphorae/backends/health_daemon/health_sender.py +2 -0
- octavia/amphorae/backends/utils/interface.py +14 -6
- octavia/amphorae/backends/utils/interface_file.py +6 -3
- octavia/amphorae/backends/utils/keepalivedlvs_query.py +8 -9
- octavia/amphorae/drivers/driver_base.py +1 -2
- octavia/amphorae/drivers/haproxy/rest_api_driver.py +11 -25
- octavia/amphorae/drivers/health/heartbeat_udp.py +34 -24
- octavia/amphorae/drivers/keepalived/jinja/jinja_cfg.py +3 -12
- octavia/amphorae/drivers/noop_driver/driver.py +3 -5
- octavia/api/common/pagination.py +4 -4
- octavia/api/drivers/amphora_driver/v2/driver.py +11 -5
- octavia/api/drivers/driver_agent/driver_get.py +22 -14
- octavia/api/drivers/driver_agent/driver_updater.py +8 -4
- octavia/api/drivers/utils.py +4 -2
- octavia/api/healthcheck/healthcheck_plugins.py +4 -2
- octavia/api/root_controller.py +4 -1
- octavia/api/v2/controllers/amphora.py +35 -38
- octavia/api/v2/controllers/availability_zone_profiles.py +43 -33
- octavia/api/v2/controllers/availability_zones.py +22 -18
- octavia/api/v2/controllers/flavor_profiles.py +37 -28
- octavia/api/v2/controllers/flavors.py +19 -15
- octavia/api/v2/controllers/health_monitor.py +44 -33
- octavia/api/v2/controllers/l7policy.py +52 -40
- octavia/api/v2/controllers/l7rule.py +68 -55
- octavia/api/v2/controllers/listener.py +88 -61
- octavia/api/v2/controllers/load_balancer.py +52 -34
- octavia/api/v2/controllers/member.py +63 -52
- octavia/api/v2/controllers/pool.py +55 -42
- octavia/api/v2/controllers/quotas.py +5 -3
- octavia/api/v2/types/listener.py +15 -0
- octavia/cmd/octavia_worker.py +0 -3
- octavia/cmd/status.py +1 -4
- octavia/common/clients.py +25 -45
- octavia/common/config.py +64 -22
- octavia/common/constants.py +3 -2
- octavia/common/data_models.py +7 -1
- octavia/common/jinja/haproxy/combined_listeners/jinja_cfg.py +12 -1
- octavia/common/jinja/haproxy/combined_listeners/templates/macros.j2 +5 -2
- octavia/common/jinja/lvs/jinja_cfg.py +4 -2
- octavia/common/keystone.py +58 -5
- octavia/common/validate.py +35 -0
- octavia/compute/drivers/noop_driver/driver.py +6 -0
- octavia/controller/healthmanager/health_manager.py +3 -6
- octavia/controller/housekeeping/house_keeping.py +36 -37
- octavia/controller/worker/amphora_rate_limit.py +5 -4
- octavia/controller/worker/task_utils.py +57 -41
- octavia/controller/worker/v2/controller_worker.py +160 -103
- octavia/controller/worker/v2/flows/listener_flows.py +3 -0
- octavia/controller/worker/v2/flows/load_balancer_flows.py +9 -14
- octavia/controller/worker/v2/tasks/amphora_driver_tasks.py +152 -91
- octavia/controller/worker/v2/tasks/compute_tasks.py +4 -2
- octavia/controller/worker/v2/tasks/database_tasks.py +542 -400
- octavia/controller/worker/v2/tasks/network_tasks.py +119 -79
- octavia/db/api.py +26 -23
- octavia/db/base_models.py +2 -2
- octavia/db/healthcheck.py +2 -1
- octavia/db/migration/alembic_migrations/versions/632152d2d32e_add_http_strict_transport_security_.py +42 -0
- octavia/db/models.py +12 -2
- octavia/db/prepare.py +2 -0
- octavia/db/repositories.py +462 -482
- octavia/hacking/checks.py +1 -1
- octavia/network/base.py +0 -14
- octavia/network/drivers/neutron/allowed_address_pairs.py +92 -135
- octavia/network/drivers/neutron/base.py +65 -77
- octavia/network/drivers/neutron/utils.py +69 -85
- octavia/network/drivers/noop_driver/driver.py +0 -7
- octavia/statistics/drivers/update_db.py +10 -10
- octavia/tests/common/constants.py +91 -84
- octavia/tests/common/sample_data_models.py +13 -1
- octavia/tests/fixtures.py +32 -0
- octavia/tests/functional/amphorae/backend/agent/api_server/test_server.py +9 -10
- octavia/tests/functional/api/drivers/driver_agent/test_driver_agent.py +260 -15
- octavia/tests/functional/api/test_root_controller.py +3 -28
- octavia/tests/functional/api/v2/base.py +5 -3
- octavia/tests/functional/api/v2/test_amphora.py +18 -5
- octavia/tests/functional/api/v2/test_availability_zone_profiles.py +1 -0
- octavia/tests/functional/api/v2/test_listener.py +51 -19
- octavia/tests/functional/api/v2/test_load_balancer.py +10 -1
- octavia/tests/functional/db/base.py +31 -16
- octavia/tests/functional/db/test_models.py +27 -28
- octavia/tests/functional/db/test_repositories.py +407 -50
- octavia/tests/unit/amphorae/backends/agent/api_server/test_amphora_info.py +2 -0
- octavia/tests/unit/amphorae/backends/agent/api_server/test_osutils.py +1 -1
- octavia/tests/unit/amphorae/backends/agent/api_server/test_plug.py +54 -6
- octavia/tests/unit/amphorae/backends/agent/api_server/test_util.py +35 -0
- octavia/tests/unit/amphorae/backends/health_daemon/test_health_daemon.py +8 -0
- octavia/tests/unit/amphorae/backends/health_daemon/test_health_sender.py +18 -0
- octavia/tests/unit/amphorae/backends/utils/test_interface.py +81 -0
- octavia/tests/unit/amphorae/backends/utils/test_interface_file.py +2 -0
- octavia/tests/unit/amphorae/backends/utils/test_keepalivedlvs_query.py +129 -5
- octavia/tests/unit/amphorae/drivers/haproxy/test_rest_api_driver_1_0.py +42 -20
- octavia/tests/unit/amphorae/drivers/health/test_heartbeat_udp.py +18 -20
- octavia/tests/unit/amphorae/drivers/keepalived/jinja/test_jinja_cfg.py +4 -4
- octavia/tests/unit/amphorae/drivers/noop_driver/test_driver.py +4 -1
- octavia/tests/unit/api/drivers/driver_agent/test_driver_get.py +3 -3
- octavia/tests/unit/api/drivers/driver_agent/test_driver_updater.py +11 -13
- octavia/tests/unit/base.py +6 -0
- octavia/tests/unit/cmd/test_interface.py +2 -2
- octavia/tests/unit/cmd/test_status.py +2 -2
- octavia/tests/unit/common/jinja/haproxy/combined_listeners/test_jinja_cfg.py +152 -1
- octavia/tests/unit/common/sample_configs/sample_configs_combined.py +10 -3
- octavia/tests/unit/common/test_clients.py +0 -39
- octavia/tests/unit/common/test_keystone.py +54 -0
- octavia/tests/unit/common/test_validate.py +67 -0
- octavia/tests/unit/controller/healthmanager/test_health_manager.py +8 -22
- octavia/tests/unit/controller/housekeeping/test_house_keeping.py +3 -64
- octavia/tests/unit/controller/worker/test_amphora_rate_limit.py +1 -1
- octavia/tests/unit/controller/worker/test_task_utils.py +44 -24
- octavia/tests/unit/controller/worker/v2/flows/test_load_balancer_flows.py +0 -1
- octavia/tests/unit/controller/worker/v2/tasks/test_amphora_driver_tasks.py +49 -26
- octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks.py +399 -196
- octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks_quota.py +37 -64
- octavia/tests/unit/controller/worker/v2/tasks/test_network_tasks.py +3 -14
- octavia/tests/unit/controller/worker/v2/test_controller_worker.py +2 -2
- octavia/tests/unit/network/drivers/neutron/test_allowed_address_pairs.py +456 -561
- octavia/tests/unit/network/drivers/neutron/test_base.py +181 -194
- octavia/tests/unit/network/drivers/neutron/test_utils.py +14 -30
- octavia/tests/unit/statistics/drivers/test_update_db.py +7 -5
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/README.rst +1 -1
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/AUTHORS +4 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/METADATA +4 -4
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/RECORD +141 -189
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/entry_points.txt +1 -2
- octavia-13.0.0.0rc1.dist-info/pbr.json +1 -0
- octavia/api/drivers/amphora_driver/v1/__init__.py +0 -11
- octavia/api/drivers/amphora_driver/v1/driver.py +0 -547
- octavia/controller/queue/v1/__init__.py +0 -11
- octavia/controller/queue/v1/consumer.py +0 -64
- octavia/controller/queue/v1/endpoints.py +0 -160
- octavia/controller/worker/v1/__init__.py +0 -11
- octavia/controller/worker/v1/controller_worker.py +0 -1157
- octavia/controller/worker/v1/flows/__init__.py +0 -11
- octavia/controller/worker/v1/flows/amphora_flows.py +0 -610
- octavia/controller/worker/v1/flows/health_monitor_flows.py +0 -105
- octavia/controller/worker/v1/flows/l7policy_flows.py +0 -94
- octavia/controller/worker/v1/flows/l7rule_flows.py +0 -100
- octavia/controller/worker/v1/flows/listener_flows.py +0 -128
- octavia/controller/worker/v1/flows/load_balancer_flows.py +0 -692
- octavia/controller/worker/v1/flows/member_flows.py +0 -230
- octavia/controller/worker/v1/flows/pool_flows.py +0 -127
- octavia/controller/worker/v1/tasks/__init__.py +0 -11
- octavia/controller/worker/v1/tasks/amphora_driver_tasks.py +0 -453
- octavia/controller/worker/v1/tasks/cert_task.py +0 -51
- octavia/controller/worker/v1/tasks/compute_tasks.py +0 -335
- octavia/controller/worker/v1/tasks/database_tasks.py +0 -2756
- octavia/controller/worker/v1/tasks/lifecycle_tasks.py +0 -173
- octavia/controller/worker/v1/tasks/model_tasks.py +0 -41
- octavia/controller/worker/v1/tasks/network_tasks.py +0 -970
- octavia/controller/worker/v1/tasks/retry_tasks.py +0 -74
- octavia/tests/unit/api/drivers/amphora_driver/v1/__init__.py +0 -11
- octavia/tests/unit/api/drivers/amphora_driver/v1/test_driver.py +0 -824
- octavia/tests/unit/controller/queue/v1/__init__.py +0 -11
- octavia/tests/unit/controller/queue/v1/test_consumer.py +0 -61
- octavia/tests/unit/controller/queue/v1/test_endpoints.py +0 -189
- octavia/tests/unit/controller/worker/v1/__init__.py +0 -11
- octavia/tests/unit/controller/worker/v1/flows/__init__.py +0 -11
- octavia/tests/unit/controller/worker/v1/flows/test_amphora_flows.py +0 -474
- octavia/tests/unit/controller/worker/v1/flows/test_health_monitor_flows.py +0 -72
- octavia/tests/unit/controller/worker/v1/flows/test_l7policy_flows.py +0 -67
- octavia/tests/unit/controller/worker/v1/flows/test_l7rule_flows.py +0 -67
- octavia/tests/unit/controller/worker/v1/flows/test_listener_flows.py +0 -91
- octavia/tests/unit/controller/worker/v1/flows/test_load_balancer_flows.py +0 -431
- octavia/tests/unit/controller/worker/v1/flows/test_member_flows.py +0 -106
- octavia/tests/unit/controller/worker/v1/flows/test_pool_flows.py +0 -77
- octavia/tests/unit/controller/worker/v1/tasks/__init__.py +0 -11
- octavia/tests/unit/controller/worker/v1/tasks/test_amphora_driver_tasks.py +0 -792
- octavia/tests/unit/controller/worker/v1/tasks/test_cert_task.py +0 -46
- octavia/tests/unit/controller/worker/v1/tasks/test_compute_tasks.py +0 -634
- octavia/tests/unit/controller/worker/v1/tasks/test_database_tasks.py +0 -2615
- octavia/tests/unit/controller/worker/v1/tasks/test_database_tasks_quota.py +0 -415
- octavia/tests/unit/controller/worker/v1/tasks/test_lifecycle_tasks.py +0 -401
- octavia/tests/unit/controller/worker/v1/tasks/test_model_tasks.py +0 -44
- octavia/tests/unit/controller/worker/v1/tasks/test_network_tasks.py +0 -1788
- octavia/tests/unit/controller/worker/v1/tasks/test_retry_tasks.py +0 -47
- octavia/tests/unit/controller/worker/v1/test_controller_worker.py +0 -2096
- octavia-12.0.0.0rc2.dist-info/pbr.json +0 -1
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/LICENSE +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/README.rst +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/diskimage-create.sh +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/image-tests.sh +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/requirements.txt +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/test-requirements.txt +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/tox.ini +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/version.txt +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/scripts/octavia-wsgi +0 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/LICENSE +0 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/WHEEL +0 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -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
|
41
|
-
model_obj = utils.
|
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
|
56
|
-
model_obj = utils.
|
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['
|
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
|
77
|
-
model_obj = utils.
|
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(
|
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()
|
103
|
+
self._compare_ignore_value_none(assert_dict, model_obj.to_dict())
|
103
104
|
|
104
|
-
def
|
105
|
-
model_obj = utils.
|
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.
|
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(
|
69
|
-
mock.call(
|
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(
|
77
|
-
mock.call(
|
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://
|
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:
|
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.
|
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://
|
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
|