[release-announce] octavia 13.0.0 (bobcat)

no-reply at openstack.org no-reply at openstack.org
Wed Oct 4 11:19:58 UTC 2023


We are amped to announce the release of:

octavia 13.0.0: OpenStack Octavia Scalable Load Balancer as a Service

This release is part of the bobcat 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 12.0.0.0rc1..13.0.0
--------------------------------------

d7bba6c5 Move octavia grenade job on jammy
c9075475 Add support for HTTP Strict Transport Security
ad95a583 Remove sqlalchemy-tips from the generic tips template
072c10fe Move docstring to the right place in database_tasks
2643a766 Fix the issue of losing nf_conntrace* values after a reboot.
9ba449c9 Update the bug tracker links in the doc (switch to Launchpad)
fd587500 Remove unused wait_for_port_detach code
ff80e454 Remove blockdiag from Octavia
81d7d983 Add job to test with SQLAlchemy master (2.x)
390ba396 Fix pool_timeout for tests with sqlite file backend
e59a555b Fix sqlalchemy declarative_base import
dac994e3 [sqlalchemy2] Disabling 'create_engine.convert_unicode' filter
b15a6e8c [sqlalchemy2] subtransactions & autocommit removal
58d0ede1 Fix UDP pool's member status in LB with additional VIPs
72f59a34 Fix error in agent-agent with empty UDP pools in IPv4+IPv6 LBs
8ccc0d01 Don't update the management port when calculating delta
2aac2a8d Fix IPv6 session persistence failed
a9359ab7 Imported Translations from Zanata
133e7478 Fix test_driver_agent tests with newer octavia-lib
b3bf1779 Fix incorrect removal of IP rules in the amphora
21682f70 Fix haproxy global maxconn with disabled listeners
294bd406 Fix TCP HMs on UDP pools with SELinux
68b088ed Fix health message format for v2 and v3 in unit tests
e3a81dcb Mock access to tuned active_profile file in unittests
72139801 Splitting scenario jobs in the gate pipeline
1278660e Imported Translations from Zanata
c4dd87f9 Avoid interface name collisions in the amphora
80d316f5 Splitting scenario jobs in 2
e63e149b [sqlalchemy2] Added missing relationships in models
022b4077 [sqlalchemy2] Removal of cascade backrefs
77b6b092 [sqlaclhemy2] Don't pass strings to session.execute
134d4728 [sqlalchemy2] Using non-integer/slice indices on Row is deprecated
49d066cc [sqlalchemy2] Use subquery to select from a query
c412058f [sqlalchemy2] positional arguments for case
0c02ba02 [sqlalchemy2] use attribute to indicate relationship
e0bff29e [sqlalchemy2] move to Session.get()
f21fee9a [sqlalchemy2] Turn on RemovedIn20Warnings in tests
6e7ce65c Fix pep8 error
e20ceebc Fix hm operating status to ONLINE in single lb call
3e6fd13b Remove python-neutronclient
18cd1f34 Send IP advertisements when plugging a new member subnet
cd1646ce Fix octavia-amphora-image-build periodic job
25fbd4e8 Update doc for the OVN provider
1771f6ac Fix octavia-status with amphorav2
6dbe7b8d Update amphorav2 jobs
3b4ef33f Merge amphorav2 provider doc into amphora doc
324c3528 Remove specific handling of amphorav1 parameters
6c0515c9 amphorav1 removal
9284b740 Change Pydevd settrace configuration
84a4c071 Fix quota error messages
5eb234b8 Add octavia-grenade-slurp CI job
f48146b1 Imported Translations from Zanata
afb4d151 Fixing octavia-grenade job and disabling pylint warnings
2e4ee9c6 Fix ORM caching for with_for_update calls
a460698c Fix octavia to accept [ipv6]:port
ba92aeb9 Fix failover when the last listener is deleted
8c6f1a0a Fix focal amphora image build
5fff5676 Fix create_server_group in compute noop
70b1aeac Fix devstack policy overrides
3a157c02 Fix pool creation with single LB create call
764cbf01 Purge some dev tools from the amphora image
5ed6f375 Workaround an openstacksdk bug
47de8fa3 Fix upgrade check not working
5d5dcb20 Imported Translations from Zanata
e0f67604 Update master for stable/2023.1
60f579b6 allowed_cidr validation for additional_vips
32988c0a Fix example policy file system-reader role


Diffstat (except docs and test files)
-------------------------------------

CONTRIBUTING.rst                                   |    4 +-
README.rst                                         |    2 +-
api-ref/source/conf.py                             |    3 +-
api-ref/source/parameters.yaml                     |   56 +
api-ref/source/v2/examples/listener-create-curl    |    2 +-
.../v2/examples/listener-create-request.json       |    5 +-
.../v2/examples/listener-create-response.json      |   13 +-
.../source/v2/examples/listener-show-response.json |   13 +-
api-ref/source/v2/examples/listener-update-curl    |    2 +-
.../v2/examples/listener-update-request.json       |   17 +-
.../v2/examples/listener-update-response.json      |   13 +-
.../v2/examples/listeners-list-response.json       |   17 +-
api-ref/source/v2/listener.inc                     |   18 +
devstack/plugin.sh                                 |   15 +
devstack/upgrade/shutdown.sh                       |    2 +
.../feature-matrix-healthmonitor.ini               |   20 +-
.../feature-matrix-l7policy.ini                    |    2 +-
.../feature-matrix-l7rule.ini                      |    2 +-
.../feature-classification/feature-matrix-lb.ini   |    2 +-
.../feature-matrix-listener.ini                    |    2 +-
.../feature-matrix-member.ini                      |    2 +-
.../feature-classification/feature-matrix-pool.ini |    2 +-
elements/amphora-agent/package-installs.yaml       |   25 +
.../post-install.d/50-selinux-policies             |    3 +
etc/policy/keystone_default_roles-policy.yaml      |    2 +-
.../amphorae/backends/agent/api_server/osutils.py  |    1 +
octavia/amphorae/backends/agent/api_server/plug.py |   28 +-
.../api_server/templates/amphora-netns.systemd.j2  |    4 +-
octavia/amphorae/backends/agent/api_server/util.py |   21 +
.../backends/health_daemon/health_daemon.py        |   12 +-
.../backends/health_daemon/health_sender.py        |    2 +
octavia/amphorae/backends/utils/interface.py       |   20 +-
octavia/amphorae/backends/utils/interface_file.py  |    9 +-
.../amphorae/backends/utils/keepalivedlvs_query.py |   17 +-
octavia/amphorae/drivers/driver_base.py            |    3 +-
.../amphorae/drivers/haproxy/rest_api_driver.py    |   36 +-
octavia/amphorae/drivers/health/heartbeat_udp.py   |   58 +-
.../amphorae/drivers/keepalived/jinja/jinja_cfg.py |   15 +-
octavia/amphorae/drivers/noop_driver/driver.py     |    8 +-
octavia/api/common/hooks.py                        |    8 +-
octavia/api/common/pagination.py                   |    8 +-
octavia/api/drivers/amphora_driver/v1/__init__.py  |   11 -
octavia/api/drivers/amphora_driver/v1/driver.py    |  547 ----
octavia/api/drivers/amphora_driver/v2/driver.py    |   16 +-
octavia/api/drivers/driver_agent/driver_get.py     |   36 +-
octavia/api/drivers/driver_agent/driver_updater.py |   12 +-
octavia/api/drivers/utils.py                       |    6 +-
octavia/api/healthcheck/healthcheck_plugins.py     |    6 +-
octavia/api/root_controller.py                     |    5 +-
octavia/api/v2/controllers/amphora.py              |   73 +-
.../v2/controllers/availability_zone_profiles.py   |   76 +-
octavia/api/v2/controllers/availability_zones.py   |   40 +-
octavia/api/v2/controllers/flavor_profiles.py      |   65 +-
octavia/api/v2/controllers/flavors.py              |   34 +-
octavia/api/v2/controllers/health_monitor.py       |   77 +-
octavia/api/v2/controllers/l7policy.py             |   92 +-
octavia/api/v2/controllers/l7rule.py               |  123 +-
octavia/api/v2/controllers/listener.py             |  149 +-
octavia/api/v2/controllers/load_balancer.py        |   86 +-
octavia/api/v2/controllers/member.py               |  115 +-
octavia/api/v2/controllers/pool.py                 |   97 +-
octavia/api/v2/controllers/quotas.py               |    8 +-
octavia/api/v2/types/listener.py                   |   15 +
octavia/cmd/octavia_worker.py                      |    3 -
octavia/cmd/status.py                              |    5 +-
octavia/common/clients.py                          |   70 +-
octavia/common/config.py                           |   86 +-
octavia/common/constants.py                        |    5 +-
octavia/common/data_models.py                      |    8 +-
.../jinja/haproxy/combined_listeners/jinja_cfg.py  |   13 +-
.../haproxy/combined_listeners/templates/macros.j2 |    7 +-
octavia/common/jinja/lvs/jinja_cfg.py              |    6 +-
octavia/common/keystone.py                         |   63 +-
octavia/common/validate.py                         |   35 +
octavia/compute/drivers/noop_driver/driver.py      |    6 +
octavia/controller/healthmanager/health_manager.py |    9 +-
octavia/controller/housekeeping/house_keeping.py   |   73 +-
octavia/controller/queue/v1/__init__.py            |   11 -
octavia/controller/queue/v1/consumer.py            |   64 -
octavia/controller/queue/v1/endpoints.py           |  160 --
octavia/controller/worker/amphora_rate_limit.py    |    9 +-
octavia/controller/worker/task_utils.py            |   98 +-
octavia/controller/worker/v1/__init__.py           |   11 -
octavia/controller/worker/v1/controller_worker.py  | 1157 --------
octavia/controller/worker/v1/flows/__init__.py     |   11 -
.../controller/worker/v1/flows/amphora_flows.py    |  610 -----
.../worker/v1/flows/health_monitor_flows.py        |  105 -
.../controller/worker/v1/flows/l7policy_flows.py   |   94 -
octavia/controller/worker/v1/flows/l7rule_flows.py |  100 -
.../controller/worker/v1/flows/listener_flows.py   |  128 -
.../worker/v1/flows/load_balancer_flows.py         |  692 -----
octavia/controller/worker/v1/flows/member_flows.py |  230 --
octavia/controller/worker/v1/flows/pool_flows.py   |  127 -
octavia/controller/worker/v1/tasks/__init__.py     |   11 -
.../worker/v1/tasks/amphora_driver_tasks.py        |  453 ----
octavia/controller/worker/v1/tasks/cert_task.py    |   51 -
.../controller/worker/v1/tasks/compute_tasks.py    |  335 ---
.../controller/worker/v1/tasks/database_tasks.py   | 2756 --------------------
.../controller/worker/v1/tasks/lifecycle_tasks.py  |  173 --
octavia/controller/worker/v1/tasks/model_tasks.py  |   41 -
.../controller/worker/v1/tasks/network_tasks.py    |  970 -------
octavia/controller/worker/v1/tasks/retry_tasks.py  |   74 -
octavia/controller/worker/v2/controller_worker.py  |  263 +-
.../controller/worker/v2/flows/listener_flows.py   |    3 +
.../worker/v2/flows/load_balancer_flows.py         |   23 +-
.../worker/v2/tasks/amphora_driver_tasks.py        |  243 +-
.../controller/worker/v2/tasks/compute_tasks.py    |    6 +-
.../controller/worker/v2/tasks/database_tasks.py   |  942 ++++---
.../controller/worker/v2/tasks/network_tasks.py    |  198 +-
octavia/db/api.py                                  |   49 +-
octavia/db/base_models.py                          |    4 +-
octavia/db/healthcheck.py                          |    3 +-
...52d2d32e_add_http_strict_transport_security_.py |   42 +
octavia/db/models.py                               |   14 +-
octavia/db/prepare.py                              |    2 +
octavia/db/repositories.py                         |  944 ++++---
octavia/hacking/checks.py                          |    2 +-
octavia/network/base.py                            |   14 -
.../drivers/neutron/allowed_address_pairs.py       |  227 +-
octavia/network/drivers/neutron/base.py            |  142 +-
octavia/network/drivers/neutron/utils.py           |  154 +-
octavia/network/drivers/noop_driver/driver.py      |    7 -
octavia/statistics/drivers/update_db.py            |   20 +-
.../backend/agent/api_server/test_server.py        |   19 +-
.../api/drivers/driver_agent/test_driver_agent.py  |  275 +-
.../api/v2/test_availability_zone_profiles.py      |    1 +
.../backends/agent/api_server/test_amphora_info.py |    2 +
.../backends/agent/api_server/test_osutils.py      |    2 +-
.../backends/agent/api_server/test_plug.py         |   60 +-
.../backends/agent/api_server/test_util.py         |   35 +
.../backends/health_daemon/test_health_daemon.py   |    8 +
.../backends/health_daemon/test_health_sender.py   |   18 +
.../unit/amphorae/backends/utils/test_interface.py |   81 +
.../amphorae/backends/utils/test_interface_file.py |    2 +
.../backends/utils/test_keepalivedlvs_query.py     |  134 +-
.../drivers/haproxy/test_rest_api_driver_1_0.py    |   62 +-
.../amphorae/drivers/health/test_heartbeat_udp.py  |   38 +-
.../drivers/keepalived/jinja/test_jinja_cfg.py     |    8 +-
.../amphorae/drivers/noop_driver/test_driver.py    |    5 +-
.../unit/api/drivers/amphora_driver/v1/__init__.py |   11 -
.../api/drivers/amphora_driver/v1/test_driver.py   |  824 ------
.../api/drivers/driver_agent/test_driver_get.py    |    6 +-
.../drivers/driver_agent/test_driver_updater.py    |   24 +-
.../haproxy/combined_listeners/test_jinja_cfg.py   |  153 +-
.../sample_configs/sample_configs_combined.py      |   13 +-
.../healthmanager/test_health_manager.py           |   30 +-
.../controller/housekeeping/test_house_keeping.py  |   67 +-
.../unit/controller/queue/v1/test_consumer.py      |   61 -
.../unit/controller/queue/v1/test_endpoints.py     |  189 --
.../controller/worker/test_amphora_rate_limit.py   |    2 +-
.../unit/controller/worker/test_task_utils.py      |   68 +-
.../unit/controller/worker/v1/flows/__init__.py    |   11 -
.../worker/v1/flows/test_amphora_flows.py          |  474 ----
.../worker/v1/flows/test_health_monitor_flows.py   |   72 -
.../worker/v1/flows/test_l7policy_flows.py         |   67 -
.../worker/v1/flows/test_l7rule_flows.py           |   67 -
.../worker/v1/flows/test_listener_flows.py         |   91 -
.../worker/v1/flows/test_load_balancer_flows.py    |  431 ---
.../worker/v1/flows/test_member_flows.py           |  106 -
.../controller/worker/v1/flows/test_pool_flows.py  |   77 -
.../unit/controller/worker/v1/tasks/__init__.py    |   11 -
.../worker/v1/tasks/test_amphora_driver_tasks.py   |  792 ------
.../controller/worker/v1/tasks/test_cert_task.py   |   46 -
.../worker/v1/tasks/test_compute_tasks.py          |  634 -----
.../worker/v1/tasks/test_database_tasks.py         | 2615 -------------------
.../worker/v1/tasks/test_database_tasks_quota.py   |  415 ---
.../worker/v1/tasks/test_lifecycle_tasks.py        |  401 ---
.../controller/worker/v1/tasks/test_model_tasks.py |   44 -
.../worker/v1/tasks/test_network_tasks.py          | 1788 -------------
.../controller/worker/v1/tasks/test_retry_tasks.py |   47 -
.../controller/worker/v1/test_controller_worker.py | 2096 ---------------
.../worker/v2/flows/test_load_balancer_flows.py    |    1 -
.../worker/v2/tasks/test_amphora_driver_tasks.py   |   75 +-
.../worker/v2/tasks/test_database_tasks.py         |  595 +++--
.../worker/v2/tasks/test_database_tasks_quota.py   |  101 +-
.../worker/v2/tasks/test_network_tasks.py          |   17 +-
.../controller/worker/v2/test_controller_worker.py |    4 +-
.../drivers/neutron/test_allowed_address_pairs.py  | 1017 ++++----
.../unit/network/drivers/neutron/test_base.py      |  375 ++-
.../unit/network/drivers/neutron/test_utils.py     |   44 +-
.../unit/statistics/drivers/test_update_db.py      |   12 +-
...r-delete-causing-failover-251efdb79af24c0a.yaml |    5 +
.../notes/add-hsts-support-91527398ba966115.yaml   |    9 +
...ation-for-additional_vips-175c32824cc7ee95.yaml |    7 +
...ad-management-port-update-3fa157f74ee8c7b2.yaml |    7 +
...ber-update-race-condition-09b82e2cc3121e03.yaml |    5 +
...t-udp-pools-dual-stack-lb-b298ded551ac97e1.yaml |    6 +
...n-with-disabled-listeners-fa89f762a94b8fe9.yaml |    6 +
...-online-in-single-lb-call-214a7ca22937a877.yaml |    5 +
.../fix-ip-rules-in-amphora-b74b7b616752c13b.yaml  |   11 +
...ress-enclosed-in-brackets-c1cfc4717465ba09.yaml |    6 +
...ssion-persistence-failure-d649656a44fc3bbb.yaml |    6 +
...twork-interface-collision-939fd32587ea3344.yaml |    8 +
...-octavia-status-amphorav2-038fe77a2189b99f.yaml |    5 +
...tatus-on-lb-single-create-897070aee0a42da6.yaml |    5 +
...linux-tcp-hm-on-udp-pools-89c3b8db89e359ba.yaml |    7 +
...atus-with-additional-vips-7511690a0c112b44.yaml |    6 +
...ixed-quota-error-messages-fe3ae81a43f93a17.yaml |    6 +
...-ipvs-before-setting-opts-c5b2f0871bc38c27.yaml |    5 +
...-subnet-ip-advertisements-af2264844079ef6b.yaml |    6 +
.../removed-neutronclient-43f62f25210c3392.yaml    |   23 +
.../notes/removing-amphorav1-ff43992c07a2071d.yaml |   10 +
releasenotes/source/2023.1.rst                     |    6 +
releasenotes/source/index.rst                      |    1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       |   29 +-
requirements.txt                                   |    4 +-
setup.cfg                                          |    3 +-
specs/template.rst                                 |   12 +-
tools/check_unit_test_structure.sh                 |    1 -
tools/flow-list.txt                                |   32 -
tox.ini                                            |   10 +-
zuul.d/jobs.yaml                                   |   86 +-
zuul.d/projects.yaml                               |   30 +-
242 files changed, 6276 insertions(+), 24379 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index 872c355b..e20ed6e1 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -19 +18,0 @@ keystonemiddleware>=9.5.0 # Apache-2.0
-python-neutronclient>=6.7.0 # Apache-2.0
@@ -21,0 +21 @@ stevedore>=1.20.0 # Apache-2.0
+openstacksdk>=0.103.0 # Apache-2.0
@@ -49 +49 @@ jsonschema>=3.2.0 # MIT
-octavia-lib>=3.1.0 # Apache-2.0
+octavia-lib>=3.3.0 # Apache-2.0






More information about the Release-announce mailing list