We are glad to announce the release of: octavia 14.0.1 This release is part of the caracal 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. 14.0.1 ^^^^^^ Bug Fixes * Fixed an issue updating listeners when using SR-IOV VIP ports. * Fixed a bug in the VIP SR-IOV implementation that would cause load balancer memebers that use the SR-IOV VIP interface to not receive traffic. * Fixed error on update UDP Health Monitor with empty "delay" parameter * Fixed an issue when failing over load balancers using SR-IOV VIP ports. * Fixed an issue when a failover reverts, a neutron port may get abandoned. The issue was logged with "Failed to delete port", "Resources may still be in use for a port intended for amphora", and "Search for a port named octavia-lb-vrrp-<uuid>". * Fix the issue, when "limit" parameter in request less or equal 0. Now it returns resources according pagination_max_limit as expected, instead of error. * Remove record in amphora_health table on revert. It's necessary, because record in amphora table for corresponding amphora also deleted. It allows to avoid false positive react of failover threshold due to orphan records in amphora_health table. * Fixed potential AttributeError during listener update when security group rule had no protocol defined (ie. it was null). * Added a validation step in the batch member API request that checks if a member is included multiple times in the list of updated members, this additional check prevents the load balancer from being stuck in PENDING_UPDATE. Duplicate members in the batch member flow triggered an exception in Taskflow. The API now returns 400 (ValidationException) if a member is already present in the body of the request. * Fixed an issue when filtering resources with a boolean attribute in the GET calls in the Octavia API. * Fixed a bug when creating a load balancer and a listener with "allowed_cidrs" with the fully-populated load balancer API, the call was rejected because Octavia could not validate that the IP addresses of the "allowed_cidrs" have the same family as the VIP address. * Fixed an issue with SINGLE topology load balancer with UDP listeners, the Amphora now sends a Gratuitous ARP packet when a UDP pool is added, it makes the VIP address more quickly reachable after a failover or when reusing a previously allocated IP address. * Fix load balancer stuck in PENDING_DELETE if TLS storage unavailable or returns error * Fix verification of certificates signed by a private CA when using Neutron endpoints. * Fix error on revert PlugVIPAmphora task, when db_lb is not defined and get_subnet raises NotFound error. It could happen when Amphora creation failed by timeout and before it VIP network was removed. As result revert failed with exception. * Fixed a bug with the *nopreempt* option in keepalived. The option didn't work properly because the default role of the *MASTER* amphora was set. Removing the default roles from the configuration files fixed that issue. Now after a failover, the newly created amphora doesn't preempt the *MASTER* role from the other amphora. Changes in octavia 14.0.0..14.0.1 --------------------------------- 2c2f0d328 Fix incorrect filtering when using bool attrs 6e1b00a8e Fix test_prometheus_proxy.test_main 9c33604ae Fixed VRRP nopreempt option 1338f29d2 Fix port abandonment on failover flow revert e5e462c6e Update stable/2024.1 to use 2024.1 tests 6edc3f274 Fix verification of certificates signed by a private CA 11515cdd4 Fix missing GARP with UDP listeners on SINGLE LB a97dcca94 curl-minimal conflicts with already installed curl 1e1301ff8 Don't install firewalld in the amphora 2e4a03e5c Remove amphora_health record on revert CreateAmphoraInDB efe3ee865 Handle undefined protocol field in security group rules correctly 5a039fcd9 Do not fail on revert PlugVIPAmphora due undefined db_lb 87f5d0a4c Fix amphora image builds to use DIB bindep e5a9a9538 Fix SR-IOV when VIP interface is used for members 2733a6766 Fix failover when using SRIOV VIP 3af5401b8 Fix loadbalancer stuck in cascade delete b61c340b0 Add check for duplicate members in batch update c704267c5 Fix listener update when using SRIOV VIP b370e46c1 Pin pylint on 2024.1 32df43144 Removing tips jobs on stable/2024.1 8d1998299 Fix fully-populated API with allowed_cidrs 1945df32d Fix negative or 0 limit parameter in pagination 8b4e9e731 Handle empty delay on update healthmonitor 6b11062d3 Update TOX_CONSTRAINTS_FILE for stable/2024.1 894023ec9 Update .gitreview for stable/2024.1 Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + elements/amphora-agent/package-installs.yaml | 4 + elements/amphora-agent/pkg-map | 1 - .../amphora-agent/source-repository-amphora-agent | 4 +- .../static/usr/local/bin/lvs-masquerade.sh | 62 +++++++++------ elements/octavia-lib/source-repository-octavia-lib | 2 +- .../backends/agent/api_server/keepalivedlvs.py | 9 +++ .../amphorae/backends/agent/api_server/osutils.py | 6 +- octavia/amphorae/backends/agent/api_server/plug.py | 9 ++- .../amphorae/backends/agent/api_server/server.py | 5 +- octavia/amphorae/backends/agent/api_server/util.py | 37 ++++++++- octavia/amphorae/backends/utils/interface.py | 39 +--------- octavia/amphorae/backends/utils/interface_file.py | 33 +++++--- octavia/amphorae/backends/utils/nftable_utils.py | 44 ++++++++--- .../amphorae/drivers/keepalived/jinja/jinja_cfg.py | 1 - .../jinja/templates/keepalived_base.template | 1 - octavia/api/common/pagination.py | 2 +- octavia/api/v2/controllers/health_monitor.py | 4 +- octavia/api/v2/controllers/load_balancer.py | 7 ++ octavia/api/v2/controllers/member.py | 14 +++- octavia/common/clients.py | 8 +- octavia/common/constants.py | 6 +- octavia/controller/worker/v2/controller_worker.py | 4 +- .../controller/worker/v2/flows/amphora_flows.py | 17 +++- octavia/controller/worker/v2/flows/flow_utils.py | 10 ++- .../controller/worker/v2/flows/listener_flows.py | 22 ++++-- .../controller/worker/v2/tasks/database_tasks.py | 16 ++-- .../controller/worker/v2/tasks/network_tasks.py | 25 +++--- octavia/db/base_models.py | 20 ++++- .../drivers/neutron/allowed_address_pairs.py | 5 +- .../backend/agent/api_server/test_server.py | 2 +- .../backends/agent/api_server/test_osutils.py | 2 +- .../backends/agent/api_server/test_plug.py | 7 +- .../backends/agent/api_server/test_util.py | 90 ++++++++++++++++++++- .../unit/amphorae/backends/utils/test_interface.py | 67 +--------------- .../amphorae/backends/utils/test_nftable_utils.py | 50 ++++++------ .../drivers/keepalived/jinja/test_jinja_cfg.py | 4 - .../worker/v2/flows/test_listener_flows.py | 25 +++--- .../worker/v2/flows/test_load_balancer_flows.py | 10 +-- .../worker/v2/tasks/test_database_tasks.py | 34 ++++++-- .../worker/v2/tasks/test_network_tasks.py | 59 +++++++++++++- .../controller/worker/v2/test_controller_worker.py | 57 +++++++++++++- .../drivers/neutron/test_allowed_address_pairs.py | 3 +- playbooks/image-build/run.yaml | 52 ++----------- ...ner-Update-for-SRIOV-VIPs-8348b7fe0c02b9c4.yaml | 4 + ...rface-is-used-for-members-adb150ece454ecff.yaml | 5 ++ ...itor-update-without-delay-c56240e59e15483f.yaml | 4 + ...x-failover-for-SRIOV-VIPs-e2ab193c0de5eb1d.yaml | 4 + ...failover-revert-port-leak-d9879523506c6ff3.yaml | 7 ++ ...nation-less-or-equal-zero-93a33f1318ea34e5.yaml | 6 ++ ...lth_row_on_amphora_revert-082f94459ecacaa2.yaml | 7 ++ ...up-rule-has-protocol-none-9b7217c5477d01b6.yaml | 5 ++ ...e-members-in-batch-update-610ffbbf949927d0.yaml | 10 +++ ...g-with-boolean-attributes-15df51820753a900.yaml | 5 ++ ...ulated-with-allowed-cidrs-ad04ccf02bf9cbbc.yaml | 7 ++ ...ix-garp-for-udp-listeners-6bf2ec8d491d1e1b.yaml | 7 ++ ...dbalancer-stuck-on-delete-da5950cf87fc8507.yaml | 5 ++ ...te-ca-signed-certificates-b9386a0d92627b03.yaml | 5 ++ ..._db_lb_on_plug_vip_revert-5c24af124498b246.yaml | 7 ++ ...ault-role-from-keepalived-c879bad3a42a6b4a.yaml | 8 ++ test-requirements.txt | 2 +- tox.ini | 8 +- zuul.d/jobs.yaml | 91 ++++++++++++++++++++-- zuul.d/projects.yaml | 38 +++++---- 68 files changed, 902 insertions(+), 351 deletions(-) Requirements updates -------------------- diff --git a/test-requirements.txt b/test-requirements.txt index fa31c123f..6f9f2cb36 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -11 +11 @@ oslotest>=3.2.0 # Apache-2.0 -pylint>=2.5.3 # GPLv2 +pylint>=2.5.3,<3.2.0 # GPLv2
participants (1)
-
no-reply@openstack.org