We high-spiritedly announce the release of: octavia 17.0.0 This release is part of the flamingo 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. 17.0.0 ^^^^^^ Bug Fixes * Fixed a bug where the Amphora configuration update would only update the Amphora agent configuration, but the health sender would not be updated with the new controller IP list. Changes in octavia 16.0.0.0rc1..17.0.0 -------------------------------------- fa44598bd Fix Amphora controller IP list update 3af236348 Update TOX_CONSTRAINTS_FILE for stable/2025.2 179e4ce2e Update .gitreview for stable/2025.2 ccc65d6ca Remove remaining jobs with Ubuntu Jammy (22.04) 4af823cc7 Resolve a UDP rebalance issue on backend failure 0236947f4 Support file watcher to trigger GMR report c64c5f544 Fix L7Rules with FILE_TYPE and EQUAL_TO 592dd78f8 devstack: Omit flavor create --id auto parameter 5fc42b528 Use native String type 6b51d75b0 Reduce tune.ssl.cachesize for HTTPS terminating listeners ff29dcd78 Fixed http_version and domain_name in haproxy templates 5c802aad9 Fix race condition in cascade delete d00fcf13b Move log offload files to /var/log/octavia 9a4fb1ed8 Use only spaces in example response bad5457e9 Make [task_flow].persistence_connection secret 943b5567a Remove duplicate policy file format check 340a8d3af Skip functional tests for pre-commit config update e5bdd1f12 Add more entropy to the rotate passphrase tests bfa1abb29 Fixed missing port_id in additional_vips API cd4fa250d Imported Translations from Zanata c547308b8 Fix pep8 tests for translated message 4d86418da Fix missing stestr c0891486a Fix inconsistent parameter type and default value type f47966c90 Add auth options to [neutron] section 5c3047aff Drop explicit executor argument e852a7296 Remove zake from optional runtime dependency 57eb9b49d Update diskimage-create.sh to use noble as default 0273e2766 docs: add OpenStack-Ansible as an installation method c79e50252 Remove note about old pip's behavior df2070011 Drop override of [oslo_policy] policy_file 3be85dab1 Update python classifier in setup.cfg 7456719c8 Remove python3.9 support bbc92a716 Fix grenade job wsgi module tranition 2fb6ba934 Fix SSH disable during amphora image build 794fc75d1 Fix functional tests due to oslo.context change e6fb72231 Fix duplicate VIP address error reporting ac5b93901 Add pyproject.toml to support pip 23.1 599873b01 Re-enabling voting for octavia-v2-dsvm-tls-barbican c031784a6 Update the default TLS ciphers list 8ebf8d27c Add wsgi module to Octavia and remove wsgi script 30fbe2119 Ignore load_balancer graph in task results to avoid break write data in jobboard DB 32eca8ae0 Add service role allowed to list members in pool 4dfcd861c Support rotating server_certs_key_passphrase key beb413b6b Adapt unit tests to pyroute2 0.9.1 4db66dd06 Fixed publish-openstack-octavia-amphora-image-noble job 0b5aca4e2 Bump octavia-lib requirement to 3.8.0 f59da708b Update master for stable/2025.1 85f664378 Remove duplicate hacking checks c6cf74f51 Use overridden defaults cors options when generating a config file 0640ba583 Add volume zone to availability zone profile 03a1c3ab2 Remove deprecated datetime.utcnow() Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 - .gitreview | 1 + HACKING.rst | 7 - .../availabilityzoneprofile-create-request.json | 2 +- .../availabilityzoneprofile-create-response.json | 2 +- .../availabilityzoneprofile-list-response.json | 2 +- .../availabilityzoneprofile-show-response.json | 2 +- .../availabilityzoneprofile-update-request.json | 2 +- .../availabilityzoneprofile-update-response.json | 2 +- .../source/v2/examples/member-create-response.json | 2 +- .../source/v2/examples/member-show-response.json | 2 +- .../source/v2/examples/member-update-response.json | 2 +- .../source/v2/examples/members-list-response.json | 2 +- ...availability-zone-capability-show-response.json | 4 + .../etc/rsyslog/10-octavia-log-offloading.conf | 4 +- devstack/plugin.sh | 19 +- devstack/settings | 2 +- devstack/upgrade/from-2025.1/upgrade-octavia | 12 + diskimage-create/README.rst | 4 +- diskimage-create/diskimage-create.sh | 14 +- elements/amphora-agent/package-installs.yaml | 1 + .../amphora-agent/source-repository-amphora-agent | 4 +- elements/amphora-apparmor/README.rst | 4 + elements/amphora-apparmor/element-deps | 1 + .../amphora-apparmor/post-install.d/10-fix-rsyslog | 11 + .../static/etc/apparmor.d/rsyslog.d/octavia | 4 + elements/octavia-lib/source-repository-octavia-lib | 2 +- etc/config/octavia-config-generator.conf | 1 + .../amphorae/backends/agent/api_server/server.py | 5 +- .../api_server/templates/amphora-netns.systemd.j2 | 3 + octavia/amphorae/drivers/health/heartbeat_udp.py | 4 +- octavia/api/app.py | 7 +- .../amphora_driver/availability_zone_schema.py | 4 + octavia/api/drivers/amphora_driver/v2/driver.py | 22 +- octavia/api/drivers/noop_driver/driver.py | 2 + octavia/api/drivers/utils.py | 4 + octavia/api/v2/types/load_balancer.py | 1 + octavia/certificates/common/local.py | 23 +- octavia/certificates/generator/local.py | 5 +- octavia/cmd/agent.py | 14 +- octavia/cmd/api.py | 13 +- octavia/cmd/driver_agent.py | 4 +- octavia/cmd/health_manager.py | 4 +- octavia/cmd/house_keeping.py | 8 +- octavia/cmd/octavia_worker.py | 4 +- octavia/cmd/status.py | 24 - octavia/common/config.py | 19 +- octavia/common/constants.py | 20 +- octavia/common/exceptions.py | 5 + .../jinja/haproxy/combined_listeners/jinja_cfg.py | 12 +- .../combined_listeners/templates/haproxy.cfg.j2 | 1 - .../haproxy/combined_listeners/templates/macros.j2 | 28 +- octavia/common/policy.py | 8 - octavia/common/rpc.py | 3 +- octavia/common/utils.py | 25 +- octavia/compute/compute_base.py | 2 +- octavia/compute/drivers/nova_driver.py | 14 +- octavia/controller/queue/v2/consumer.py | 1 - .../controller/worker/v2/flows/listener_flows.py | 3 - .../worker/v2/flows/load_balancer_flows.py | 13 +- .../worker/v2/tasks/amphora_driver_tasks.py | 4 +- octavia/controller/worker/v2/tasks/cert_task.py | 4 +- .../controller/worker/v2/tasks/compute_tasks.py | 10 +- .../controller/worker/v2/tasks/database_tasks.py | 4 +- .../controller/worker/v2/tasks/network_tasks.py | 21 +- octavia/db/repositories.py | 9 +- octavia/hacking/checks.py | 58 --- .../drivers/neutron/allowed_address_pairs.py | 9 + octavia/opts.py | 34 +- octavia/policies/keystone_default_roles.py | 5 + octavia/policies/member.py | 2 +- .../backend/agent/api_server/test_server.py | 8 +- .../api/v2/test_availability_zone_profiles.py | 192 ++++---- .../functional/api/v2/test_availability_zones.py | 159 +++--- .../functional/api/v2/test_flavor_profiles.py | 192 ++++---- .../unit/amphorae/backends/utils/test_interface.py | 131 +++-- .../api/drivers/amphora_driver/v2/test_driver.py | 25 +- .../unit/api/drivers/noop_driver/test_driver.py | 4 +- .../unit/certificates/generator/test_local.py | 9 +- .../haproxy/combined_listeners/test_jinja_cfg.py | 105 ++-- .../sample_configs/sample_configs_combined.py | 2 +- .../controller/housekeeping/test_house_keeping.py | 5 +- .../worker/v2/tasks/test_amphora_driver_tasks.py | 4 +- .../controller/worker/v2/tasks/test_cert_task.py | 4 +- .../worker/v2/tasks/test_compute_tasks.py | 6 +- .../worker/v2/tasks/test_database_tasks.py | 4 +- .../worker/v2/tasks/test_network_tasks.py | 14 + .../drivers/neutron/test_allowed_address_pairs.py | 9 + .../unit/volume/drivers/noop_driver/test_driver.py | 13 +- .../unit/volume/drivers/test_cinder_driver.py | 47 ++ octavia/volume/drivers/cinder_driver.py | 34 +- octavia/volume/drivers/noop_driver/driver.py | 24 +- octavia/volume/volume_base.py | 13 +- octavia/wsgi/__init__.py | 0 octavia/wsgi/api.py | 34 ++ pyproject.toml | 3 + ...Fix-Amphora-Config-Update-06b649883c7a4f44.yaml | 6 + ...P-member-server-rebalance-74c67cb09c7c529a.yaml | 10 + .../notes/Fix-disable-sshd-470ba6a09278df69.yaml | 5 + ...te-VIP-IP-error-reporting-253c88cca4fed73d.yaml | 5 + ...default-TLS-cipher-suites-7359fe87fc246618.yaml | 24 + ...d_volume_avalability_zone-cc03ba448960bef4.yaml | 6 + .../notes/aodh-service-api-5c485a172d76fa1a.yaml | 6 + ...t-amphora-network-configs-347a0a4340ee222b.yaml | 6 + ...ion-in-HandleNetworkDelta-1f99354ee7a41c01.yaml | 5 + ...ix-haproxy-ssl-cache-size-5d5842100a87de54.yaml | 5 + ...tp-version-domain-name-hm-117ec59c63e18acd.yaml | 7 + ...l7rule-FILE_TYPE-EQUAL_TO-6e84773d6ab22c50.yaml | 5 + ...g-additional-vips-port_id-fd0708aa798744c9.yaml | 5 + ...ditions-in-cascade-delete-1e100213445a17ec.yaml | 7 + ...istence_connection_secret-bda0d7157fa179ea.yaml | 6 + .../remove-wsgi-scripts-a66048263bd550c6.yaml | 29 ++ ...rver_certs_key_passphrase-c74a67ae5e169447.yaml | 13 + ...ra-image-default-to-noble-d2733d4bcc31fec9.yaml | 5 + releasenotes/source/2025.1.rst | 6 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 25 +- requirements.txt | 7 +- setup.cfg | 7 +- test-requirements.txt | 6 +- tox.ini | 11 +- zuul.d/jobs.yaml | 35 +- zuul.d/projects.yaml | 22 +- 146 files changed, 2722 insertions(+), 2408 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 62768211a..c3a1b9cd5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +4,0 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. @@ -29 +26 @@ oslo.middleware>=4.0.1 # Apache-2.0 -oslo.policy>=3.7.0 # Apache-2.0 +oslo.policy>=4.5.0 # Apache-2.0 @@ -48 +45 @@ jsonschema>=3.2.0 # MIT -octavia-lib>=3.6.0 # Apache-2.0 +octavia-lib>=3.8.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index fa31c123f..5c173c367 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,3 +0,0 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. @@ -9 +5,0 @@ flake8-import-order>=0.18.0,<0.19.0 # LGPLv3 -python-subunit>=1.0.0 # Apache-2.0/BSD @@ -11,0 +8 @@ pylint>=2.5.3 # GPLv2 +stestr>=2.0.0 # Apache-2.0 @@ -18 +14,0 @@ bandit!=1.6.0,>=1.1.0 # Apache-2.0 -tempest>=23.0.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org