We are pleased to announce the release of: octavia 16.0.0 This release is part of the epoxy release series. The source is available from: https://opendev.org/openstack/octavia Download the package from: https://pypi.org/project/octavia Please report issues through: https://storyboard.openstack.org/#!/project/908 For more details, please see below. Changes in octavia 15.0.0..16.0.0 --------------------------------- 3b236b254 Bump octavia-lib requirement to 3.8.0 2374e72be Update TOX_CONSTRAINTS_FILE for stable/2025.1 64fa982b3 Update .gitreview for stable/2025.1 4d555babf Re-enabling doc job 54c059d94 Add support for SR-IOV member ports 1584e3e59 Fix network no-op driver for concurrency 38eb7cabe Disabling doc job 5396c627f Added RBAC for vip_sg_ids 0e440c9e7 Handle custom security groups in controller ee793c65d Add vip_sg_ids to the API 165cfe86e Drop VIRTUAL_ENV 9a764d122 Revert tempest disable due to RBAC changes 8f76ac611 Add get_security_group_by_id to network driver a9e986939 Add sg_id to Vip data_model 22929f654 Make keystone default roles the default RBAC f779cb047 Disable false-positive pylint check 4efb3aee9 Update gate jobs as per the 2025.1 cycle testing runtime b0aa2a36f Fix verification of certificates signed by a private CA 9dda6ead0 Fix role names in policy documentation f1af44a60 Unpin pip-extra-reqs f76fa1ae3 Remove amphora_health record on revert CreateAmphoraInDB bd9e8d9e0 Document how the stale amps get processed internally 430854c13 Handle undefined protocol field in security group rules correctly 7e096d19d Fix missing GARP with UDP listeners on SINGLE LB 7c08b63a3 Do not fail on revert PlugVIPAmphora due undefined db_lb 9c5ef5eaf tox: Drop envdir d1bb76822 Run octavia-db-manage in grenade testing from venv 515f64156 Fix remaining reference to Python 3.8 e8c849f42 Use common escape_ipv6 utility to escape IPv6 addresses 119b14ed9 Replace deprecated constant_time_compare eab28866b Imported Translations from Zanata 12ef28d87 Switch back to built-in md5 function 3c6f10f18 Fix pep8 with pylint 3.3.0 c2807ad79 Fixed retry functions with tenacity 8.5.0 56cbf437b Support for Jobboard etcd backend 5f302d75e Drop SQLALCHEMY_WARN_20 08427af57 Update master for stable/2024.2 d682e74d3 Fix amphora image builds to use DIB bindep c612464f2 compat with cryptography 43 cb5dca9bd Add option to limit recursion in to_data_model 57ba00d52 Remove LegacyEngineFacade e0b5f9162 Allow using non-default Redis database 4cc997c62 Honor [neutron] service_type Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + .pylintrc | 3 +- TESTING.rst | 4 +- api-ref/source/parameters.yaml | 32 +++ .../source/v2/examples/member-create-response.json | 3 +- .../source/v2/examples/member-show-response.json | 3 +- .../source/v2/examples/member-update-response.json | 3 +- .../source/v2/examples/members-list-response.json | 3 +- api-ref/source/v2/loadbalancer.inc | 12 + api-ref/source/v2/member.inc | 6 + devstack/plugin.sh | 11 +- devstack/settings | 1 + devstack/upgrade/upgrade.sh | 2 +- diskimage-create/tox.ini | 1 - .../feature-classification/feature-matrix-lb.ini | 8 + .../amphora-agent/source-repository-amphora-agent | 4 +- elements/octavia-lib/source-repository-octavia-lib | 2 +- etc/policy/octavia-advanced-rbac-policy.yaml | 74 ++++++ .../backends/agent/api_server/keepalivedlvs.py | 9 + .../backends/agent/api_server/loadbalancer.py | 12 +- octavia/amphorae/backends/agent/api_server/plug.py | 2 +- octavia/amphorae/backends/agent/api_server/util.py | 37 ++- .../backends/health_daemon/status_message.py | 3 +- .../amphorae/drivers/haproxy/rest_api_driver.py | 19 +- .../api/drivers/amphora_driver/flavor_schema.py | 5 + octavia/api/drivers/noop_driver/driver.py | 3 +- octavia/api/drivers/utils.py | 12 + octavia/api/root_controller.py | 10 +- octavia/api/v2/controllers/base.py | 12 +- octavia/api/v2/controllers/listener.py | 14 +- octavia/api/v2/controllers/load_balancer.py | 34 ++- octavia/api/v2/controllers/member.py | 62 ++++- octavia/api/v2/types/load_balancer.py | 8 +- octavia/api/v2/types/member.py | 3 + octavia/common/base_taskflow.py | 29 ++- octavia/common/clients.py | 10 +- octavia/common/config.py | 19 +- octavia/common/constants.py | 6 + octavia/common/data_models.py | 34 ++- octavia/common/exceptions.py | 5 + octavia/common/utils.py | 5 +- octavia/common/validate.py | 16 ++ octavia/compute/drivers/noop_driver/driver.py | 31 ++- octavia/controller/healthmanager/health_manager.py | 7 + .../controller/worker/v2/flows/amphora_flows.py | 8 +- .../controller/worker/v2/flows/listener_flows.py | 3 +- .../worker/v2/flows/load_balancer_flows.py | 38 +++ .../worker/v2/taskflow_jobboard_driver.py | 40 +++- .../controller/worker/v2/tasks/compute_tasks.py | 14 +- .../controller/worker/v2/tasks/database_tasks.py | 32 ++- .../controller/worker/v2/tasks/network_tasks.py | 188 +++++++++------ octavia/db/base_models.py | 34 ++- .../3097e55493ae_add_sg_id_to_vip_table.py | 39 ++++ .../versions/8db7a6443785_add_member_vnic_type.py | 36 +++ .../versions/fabf4983846b_add_member_port_table.py | 40 ++++ octavia/db/models.py | 44 +++- octavia/db/repositories.py | 97 +++++++- octavia/network/base.py | 41 +++- octavia/network/data_models.py | 3 +- .../drivers/neutron/allowed_address_pairs.py | 101 ++++---- octavia/network/drivers/neutron/base.py | 44 ++-- octavia/network/drivers/neutron/utils.py | 4 +- octavia/network/drivers/noop_driver/driver.py | 179 +++++++++++--- octavia/policies/__init__.py | 4 + octavia/policies/advanced_rbac.py | 95 ++++++++ octavia/policies/base.py | 106 +-------- octavia/policies/keystone_default_roles.py | 81 +++++++ octavia/policies/loadbalancer.py | 13 ++ .../backend/agent/api_server/test_server.py | 9 +- .../api/drivers/driver_agent/test_driver_agent.py | 3 +- .../backends/agent/api_server/test_util.py | 90 +++++++- .../drivers/haproxy/test_rest_api_driver_1_0.py | 17 +- .../unit/certificates/generator/test_local.py | 2 +- .../compute/drivers/noop_driver/test_driver.py | 30 ++- .../worker/v2/flows/test_load_balancer_flows.py | 28 ++- .../worker/v2/tasks/test_database_tasks.py | 34 ++- .../worker/v2/tasks/test_network_tasks.py | 179 +++++++------- .../worker/v2/test_taskflow_jobboard_driver.py | 8 + .../drivers/neutron/test_allowed_address_pairs.py | 107 +++++---- .../unit/network/drivers/neutron/test_base.py | 14 +- .../network/drivers/noop_driver/test_driver.py | 97 ++++---- playbooks/image-build/run.yaml | 52 +---- ...-support-for-member-ports-b78d55469303f258.yaml | 9 + ...lt-rules-the-default-RBAC-989c51ab2e319549.yaml | 24 ++ .../notes/add_vip_sg_ids-feaeaf8b3301e267.yaml | 6 + ...vip_sg_ids_amphora_driver-8b8078aa674ff60a.yaml | 10 + ...lth_row_on_amphora_revert-082f94459ecacaa2.yaml | 7 + ...etcd-backend-for-jobboard-a08ef7c37180e7c6.yaml | 4 + ...up-rule-has-protocol-none-9b7217c5477d01b6.yaml | 5 + ...ix-garp-for-udp-listeners-6bf2ec8d491d1e1b.yaml | 7 + ...te-ca-signed-certificates-b9386a0d92627b03.yaml | 5 + ..._db_lb_on_plug_vip_revert-5c24af124498b246.yaml | 7 + .../notes/jobboard-redis-db-4a6206247270e996.yaml | 5 + releasenotes/source/2024.2.rst | 6 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 66 +++++- requirements.txt | 4 +- setup.cfg | 4 + tools/create_flow_docs.py | 19 +- tox.ini | 49 +--- zuul.d/jobs.yaml | 62 +++-- zuul.d/projects.yaml | 10 +- 119 files changed, 2791 insertions(+), 758 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 05a072614..b79ff24a4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -43 +43 @@ Jinja2>=2.10 # BSD License (3 clause) -taskflow>=5.5.0 # Apache-2.0 +taskflow>=5.9.0 # Apache-2.0 @@ -48 +48 @@ jsonschema>=3.2.0 # MIT -octavia-lib>=3.3.0 # Apache-2.0 +octavia-lib>=3.8.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org