[release-announce] octavia 8.0.0 (wallaby)

no-reply at openstack.org no-reply at openstack.org
Wed Apr 14 11:26:52 UTC 2021


We contentedly announce the release of:

octavia 8.0.0: OpenStack Octavia Scalable Load Balancer as a Service

This release is part of the wallaby 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.

8.0.0
^^^^^


Upgrade Notes
*************

* Support for new features, such as ALPN on pools, HTTP/2 on pools,
  gRPC, and SCTP require an updated amphora image.


Bug Fixes
*********

* Fixed amphora driver pool ALPN compatibity with older amphora
  images.

* Fix a bug that allowed a user to create a load balancer on a
  "vip_subnet_id" that belongs to another user using the subnet UUID.


Other Notes
***********

* The diskimage-create.sh default for Ubuntu is now focal.

Changes in octavia 7.0.0..8.0.0
-------------------------------

d4638975 Fix pool ALPN compatibility with older amphora
40f70d6d Make focal the Ubuntu default for diskimage-create
7d1b81d7 Validate user access to vip_subnet_id when creating a LB
1b7c421f Update TOX_CONSTRAINTS_FILE for stable/wallaby
363213a8 Update .gitreview for stable/wallaby
00e3f834 Fix empty Batch Member Update to unlock objects
d0ec3aaf Fix using subnets with host_routes in amphorav2 driver
0513319f Fix LB failover for amphorav2: set security group
6c54eab5 Make /healthcheck cache results
fc8ee42d Fix provider driver quota handling
c5e59b5e [goal] Deprecate the JSON formatted policy file
e99d7b93 Add aarch64/amd64 support to amphora and devstack
91ee39a9 Remove some miscellaneous sanity check code
a5f142c5 Add support for scoped tokens and default roles
dd3edb63 Add HTTP/2 to default lists of ALPN protocols
d17b2328 Fix grenade resource waiters
e3ab49c6 Fix LB failover when IP addresses exhausted
08e1d6d0 Add retry for getting amphora VM
b95fbe9e Fix overriding default listener timeout values in config file
c93a76b9 Add HTTP/2 example to the load balancing cookbook
c37738ba Fix pep8 errors
ce2e0d74 Add test coverage for SCTP health checker script
3f6fb8af Fix health manager messages about failed failovers
370aa4e6 Fix pools going into ERROR when updating the pool
f45092a8 Configure rsyslog on Octavia service nodes in devstack
a822f30e Bump oslo.policy version to 2.1.0
7d8b0db3 Bump oslo.log version to 4.3.0
a518cefd Disable auto configuration of new interfaces in NetworkManager
e5f9f670 Fix incorrect ERROR status with IPv6 UDP members
6a7d8b2c Small fix in loadbalancer POST api-ref
9b2c6425 Bump the minimum coverage to 92%
2888f44e Add SCTP support in Amphora
3730d272 Install HAProxy 2.x in CentOS amphora images
53f8c28a Add default value for enabled column in l7rule table
d2d5fc80 Add ALPN support for TLS-enabled pools
dda1d866 Add validation for VIP network parameters in amphora driver
fbbc5f90 Validate listener protocol in amphora driver
a4aa03d3 Fix the unit test tree structure
57f5666f Correct spell error
1a86e454 Use 'bash' in the keepalived check script
d81a0556 Fix periodic image builder jobs
dc876eed Fix gate failure
1a154839 Add amphora_id in store params for failover_amphora
2954370e Fix operating status for empty UDP pools
9653920a Remove useless proto parameter from sample functions
6aa23358 Fix missing cronie package in RHEL-based image builds
15a68fd4 Remove re-import of octavia-lib constants
6d59fec8 Map cloud-guest-utils to cloud-utils-growpart for Red Hat distros.
8a207a7e Fix setting None in tls_versions and tls_ciphers in pools
7ad02237 Support deletion of all tags
57e7bd17 Fix pep8 failures in gate
17ae2625 Handle listener not found during loadbalancer status update
f96251c7 Fix load balancers with failed amphora failover
9a6a9000 Add experimental amphorav2 jobs
fd4abac1 Replace assertItemsEqual with assertCountEqual
a9a817e4 Use run_flow for failover functions in v2 control worker
71440bdb Imported Translations from Zanata
332791ee Fix pool delete race on load balancer cascade delete
ce6b563e Stop install unnecessary packages when run tox -ereleasenotes
02dc9881 Fix amphorav2 bytes error
40245366 Fix PROXYV2 pools
77dc23fc Fix load balancers with failed amphora failover
dcdf6315 Remove Neutron SDN-specific code
418ea090 Add Python3 wallaby unit tests
3d0486a7 Update master for stable/victoria
b627d7cf Remove unnecessary joinedload
64a301d4 Fix nf_conntrack_buckets sysctl in Amphora
03e6c73d Correct a typo in the document


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

.gitreview                                         |   1 +
TESTING.rst                                        |  33 +
api-ref/source/parameters.yaml                     |  20 +-
api-ref/source/v2/examples/pool-create-curl        |   2 +-
.../source/v2/examples/pool-create-request.json    |   3 +-
.../source/v2/examples/pool-create-response.json   |   3 +-
api-ref/source/v2/examples/pool-show-response.json |   3 +-
api-ref/source/v2/examples/pool-update-curl        |   2 +-
.../source/v2/examples/pool-update-request.json    |   3 +-
.../source/v2/examples/pool-update-response.json   |   3 +-
.../source/v2/examples/pools-list-response.json    |   3 +-
api-ref/source/v2/listener.inc                     |  12 +-
api-ref/source/v2/loadbalancer.inc                 |   3 +-
api-ref/source/v2/pool.inc                         |   6 +
devstack/plugin.sh                                 |  48 +-
devstack/settings                                  |   2 +
devstack/upgrade/resources.sh                      |   5 +
diskimage-create/README.rst                        |   6 +-
diskimage-create/diskimage-create.sh               |   9 +-
.../feature-matrix-healthmonitor.ini               |   2 +-
.../feature-matrix-listener.ini                    |   2 +-
.../feature-classification/feature-matrix-pool.ini |  10 +-
.../75-amphora-agent-install                       |   3 +
elements/amphora-agent/package-installs.yaml       |   2 +-
elements/amphora-agent/pkg-map                     |   4 +-
.../amphora-agent/source-repository-amphora-agent  |   4 +-
.../etc/NetworkManager/conf.d/no-auto-default.conf |   7 +
.../bin/{udp-masquerade.sh => lvs-masquerade.sh}   |  12 +
.../post-install.d/20-haproxy-tune-kernel          |   1 -
.../haproxy-octavia/pre-install.d/01-repositories  |  21 +
elements/octavia-lib/source-repository-octavia-lib |   2 +-
etc/octavia.conf                                   |  11 +-
etc/policy/README.rst                              |  14 +
etc/policy/keystone_default_roles-policy.yaml      |  37 +
lower-constraints.txt                              |  66 +-
.../backends/agent/api_server/amphora_info.py      |  39 +-
.../backends/agent/api_server/keepalivedlvs.py     |  40 +-
.../{udp_listener_base.py => lvs_listener_base.py} |  45 +-
.../amphorae/backends/agent/api_server/server.py   |  47 +-
.../api_server/templates/amphora-netns.systemd.j2  |   4 +
.../templates/keepalived_check_script.conf.j2      |   2 +-
.../api_server/templates/plug_port_ethX.conf.j2    |   4 +-
.../api_server/templates/plug_vip_ethX.conf.j2     |   4 +-
.../rh_plug_port_eth_ifdown_local.conf.j2          |   4 +-
.../templates/rh_plug_port_eth_ifup_local.conf.j2  |   4 +-
octavia/amphorae/backends/agent/api_server/util.py |  22 +-
.../backends/health_daemon/health_daemon.py        |  24 +-
.../amphorae/backends/utils/keepalivedlvs_query.py |  47 +-
.../amphorae/drivers/haproxy/rest_api_driver.py    |  37 +-
octavia/amphorae/drivers/health/heartbeat_udp.py   |   8 +-
octavia/api/common/pagination.py                   |   2 +-
octavia/api/drivers/amphora_driver/v1/driver.py    |  67 +-
octavia/api/drivers/amphora_driver/v2/driver.py    |  90 ++-
octavia/api/drivers/driver_agent/driver_updater.py |  43 +-
octavia/api/drivers/driver_factory.py              |   2 +-
octavia/api/drivers/utils.py                       |   6 +-
octavia/api/healthcheck/healthcheck_plugins.py     |  23 +-
octavia/api/root_controller.py                     |   7 +-
octavia/api/v2/controllers/listener.py             |   1 +
octavia/api/v2/controllers/load_balancer.py        |   2 +-
octavia/api/v2/controllers/member.py               |   7 +
octavia/api/v2/controllers/pool.py                 |  11 +
octavia/api/v2/types/listener.py                   |  28 +-
octavia/api/v2/types/pool.py                       |   5 +
octavia/certificates/manager/barbican.py           |   3 +-
octavia/certificates/manager/barbican_legacy.py    |   6 +-
octavia/cmd/health_checker.py                      | 268 +++++++
octavia/cmd/health_manager.py                      |   2 +-
octavia/cmd/house_keeping.py                       |   6 +-
octavia/cmd/status.py                              |   3 +
octavia/common/config.py                           |  35 +-
octavia/common/constants.py                        |  20 +
octavia/common/data_models.py                      |  16 +-
.../jinja/haproxy/combined_listeners/jinja_cfg.py  |  10 +-
.../haproxy/combined_listeners/templates/macros.j2 |  10 +-
octavia/common/jinja/lvs/jinja_cfg.py              |  23 +-
.../jinja/lvs/templates/keepalivedlvs.cfg.j2       |   3 +-
octavia/common/jinja/lvs/templates/macros.j2       |  33 +-
octavia/common/policy.py                           |  20 +-
octavia/common/utils.py                            |   1 +
octavia/compute/drivers/nova_driver.py             |  22 +-
octavia/controller/healthmanager/health_manager.py |   2 +-
octavia/controller/worker/task_utils.py            |  31 +-
octavia/controller/worker/v1/controller_worker.py  |  14 +-
.../worker/v1/flows/load_balancer_flows.py         |   4 +-
.../worker/v1/tasks/amphora_driver_tasks.py        |  10 +-
.../controller/worker/v1/tasks/compute_tasks.py    |   2 +-
.../controller/worker/v1/tasks/database_tasks.py   |  37 +-
.../controller/worker/v1/tasks/network_tasks.py    |  24 +-
octavia/controller/worker/v2/controller_worker.py  |  46 +-
.../worker/v2/flows/load_balancer_flows.py         |   4 +-
.../worker/v2/tasks/amphora_driver_tasks.py        |  22 +-
.../controller/worker/v2/tasks/compute_tasks.py    |   2 +-
.../controller/worker/v2/tasks/database_tasks.py   |  33 +-
.../controller/worker/v2/tasks/network_tasks.py    |  24 +-
...89cbae7_update_default_value_in_l7rule_table.py |  37 +
.../be9fdc039b51_add_pool_alpn_protocols_column.py |  35 +
.../versions/d85ca7258d21_modernize_l7rule.py      |   4 +-
octavia/db/models.py                               |   1 +
octavia/db/prepare.py                              |  16 +
octavia/db/repositories.py                         |  17 +-
octavia/network/data_models.py                     |   4 +-
.../drivers/neutron/allowed_address_pairs.py       |  15 +-
octavia/network/drivers/neutron/utils.py           |   3 +-
octavia/network/drivers/noop_driver/driver.py      |   6 +-
octavia/policies/base.py                           | 193 +++--
.../backend/agent/api_server/test_keepalivedlvs.py |  52 +-
.../backend/agent/api_server/test_server.py        |  50 +-
.../functional/api/v2/test_availability_zones.py   |   2 +-
.../backends/agent/api_server/test_amphora_info.py |  41 +-
.../agent/api_server/test_keepalivedlvs.py         |   9 +-
.../backends/agent/api_server/test_plug.py         |  12 +-
.../backends/agent/api_server/test_util.py         |  12 +-
.../backends/health_daemon/test_health_daemon.py   |  12 +-
.../{test_envelope.py => test_status_message.py}   |   0
.../backends/utils/test_keepalivedlvs_query.py     |  81 +-
...pi_driver_common.py => test_rest_api_driver.py} |   0
.../drivers/haproxy/test_rest_api_driver_0_5.py    |   4 +-
.../drivers/haproxy/test_rest_api_driver_1_0.py    |   4 +-
.../drivers/noop_driver}/__init__.py               |   0
.../test_driver.py}                                |   0
.../test_pagination.py}                            |   0
.../v1/{test_amphora_driver.py => test_driver.py}  |  81 +-
.../v2/{test_amphora_driver.py => test_driver.py}  | 152 +++-
.../drivers/driver_agent/test_driver_updater.py    |  66 +-
.../test_agent.py}                                 |   0
.../test_driver.py}                                |   0
...ofiles.py => test_availability_zone_profile.py} |   0
...t_flavor_profiles.py => test_flavor_profile.py} |   0
...t_health_monitors.py => test_health_monitor.py} |   0
.../types/{test_l7policies.py => test_l7policy.py} |   0
.../v2/types/{test_l7rules.py => test_l7rule.py}   |   0
.../types/{test_listeners.py => test_listener.py}  |   0
...est_load_balancers.py => test_load_balancer.py} |   0
.../v2/types/{test_members.py => test_member.py}   |   0
.../api/v2/types/{test_pools.py => test_pool.py}   |  12 +
.../haproxy/combined_listeners/test_jinja_cfg.py   | 108 ++-
.../unit/common/jinja/lvs/test_lvs_jinja_cfg.py    | 427 ----------
.../sample_configs/sample_configs_combined.py      | 163 +++-
.../{test_decorator.py => test_decorators.py}      |   0
.../{test_validations.py => test_validate.py}      |   0
.../unit/compute/drivers/noop_driver/__init__.py   |  11 +
.../test_driver.py}                                |   0
.../worker/v1/tasks/test_amphora_driver_tasks.py   |  22 +-
.../worker/v1/tasks/test_network_tasks.py          |  21 +-
.../controller/worker/v1/test_controller_worker.py |  26 +
.../worker/v2/tasks/test_amphora_driver_tasks.py   |  88 ++-
.../worker/v2/tasks/test_network_tasks.py          |  26 +-
.../controller/worker/v2/test_controller_worker.py |  46 +-
.../{test_hacking.py => hacking/test_checks.py}    |   0
.../test_driver.py}                                |   0
.../unit/network/drivers/noop_driver/__init__.py   |  11 +
.../test_driver.py}                                |   0
.../unit/volume/drivers/noop_driver/__init__.py    |   0
.../test_driver.py}                                |   0
playbooks/image-build/run.yaml                     |  25 +-
...default-roles-and-scoping-0081627043f5c96d.yaml |  24 +
...er-ip-addresses-exhausted-69110b2fa4683e1a.yaml |   5 +
...batch-member-update-issue-09b76787553e7752.yaml |   5 +
...x-pool-alpn-older-haproxy-50514c1df4f77bcd.yaml |   8 +
...h64-amphora-image-support-7b0859f89d9092f8.yaml |   5 +
...-alpn-protocol-to-default-e2d499d21a5d90d1.yaml |   5 +
.../add-haproxy2-centos-063beb304409d141.yaml      |   6 +
...add-pool-tls-alpn-support-68cb94b828c9ba37.yaml |  16 +
...retry-for-getting-amphora-7f96ec666403ea49.yaml |   4 +
...support-in-amphora-driver-d6e60731029badf5.yaml |   7 +
.../default-ubuntu-focal-6c4a94b8cfcfd995.yaml     |   4 +
...son-formatted-policy-file-cc3dbf8b07c2638e.yaml |  20 +
...phorav2-failover-secgroup-c793de5e00b32653.yaml |   5 +
...eout-values-for-listeners-108c8048ba8beb9a.yaml |   6 +
...ver-agent-decrement-quota-27486d9fa0bdeb89.yaml |   5 +
...x-dual-error-amp-failover-69e323892bad8254.yaml |   5 +
...fix-empty-udp-pool-status-3171950628898468.yaml |   5 +
...x-ipv6-udp-health-message-ed94b35bbea396ec.yaml |   5 +
...sing-cloud-guest-utils-rh-eb39a53502dc1e91.yaml |   4 +
.../fix-missing-cronie-rh-bd31001338ddbb1e.yaml    |   4 +
..._conntrack_buckets-sysctl-75ae6dbb9d052863.yaml |   5 +
.../notes/fix-pool-crl-2cc6f2705f5b2009.yaml       |   5 +
.../notes/fix-proxyv2-44a7627294922a8e.yaml        |   4 +
...net-host_routes-amphorav2-3c079c5a3bfa1b3d.yaml |   5 +
...ions-tls_ciphers-in-pools-7534715ce28bd8cb.yaml |   6 +
.../notes/healthcheck-cache-641f0a64e6f5856c.yaml  |   5 +
...e-access-to-vip_subnet_id-48fc92b45529cafd.yaml |   5 +
...lidate-vip-network-params-57662cc3a99f80e5.yaml |   5 +
releasenotes/source/index.rst                      |   1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       | 159 +++-
releasenotes/source/victoria.rst                   |   6 +
requirements.txt                                   |  28 +-
setup.cfg                                          |   3 +
test-requirements.txt                              |   4 +-
tools/check_unit_test_structure.sh                 |  58 ++
tools/misc-sanity-checks.sh                        |  26 -
tox.ini                                            |  12 +-
zuul.d/amphorav2-jobs.yaml                         | 148 ++++
zuul.d/jobs.yaml                                   |   4 +
zuul.d/projects.yaml                               |   9 +-
216 files changed, 4965 insertions(+), 1283 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 2f4f194f..7e450f69 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4 +4 @@
-alembic>=0.8.10 # MIT
+alembic>=0.9.6 # MIT
@@ -7 +7 @@ pecan>=1.3.2 # BSD
-pbr!=2.1.0,>=2.0.0 # Apache-2.0
+pbr>=3.1.1 # Apache-2.0
@@ -11,2 +11,2 @@ futurist>=1.2.0 # Apache-2.0
-requests>=2.14.2 # Apache-2.0
-rfc3986>=0.3.1 # Apache-2.0
+requests>=2.23.0 # Apache-2.0
+rfc3986>=1.2.0 # Apache-2.0
@@ -18,5 +18,5 @@ stevedore>=1.20.0 # Apache-2.0
-oslo.config>=5.2.0 # Apache-2.0
-oslo.context>=2.19.2 # Apache-2.0
-oslo.db[mysql]>=8.3.0 # Apache-2.0
-oslo.i18n>=3.15.3 # Apache-2.0
-oslo.log>=3.36.0 # Apache-2.0
+oslo.config>=6.8.0 # Apache-2.0
+oslo.context>=2.22.0 # Apache-2.0
+oslo.db[mysql]>=8.4.0 # Apache-2.0
+oslo.i18n>=3.20.0 # Apache-2.0
+oslo.log>=4.3.0 # Apache-2.0
@@ -25 +25 @@ oslo.middleware>=4.0.1 # Apache-2.0
-oslo.policy>=1.30.0 # Apache-2.0
+oslo.policy>=3.6.2 # Apache-2.0
@@ -27,3 +27,3 @@ oslo.reports>=1.18.0 # Apache-2.0
-oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
-oslo.upgradecheck>=0.1.0 # Apache-2.0
-oslo.utils>=3.33.0 # Apache-2.0
+oslo.serialization>=2.28.1 # Apache-2.0
+oslo.upgradecheck>=1.3.0 # Apache-2.0
+oslo.utils>=4.5.0 # Apache-2.0
@@ -44 +44 @@ jsonschema>=3.2.0 # MIT
-octavia-lib>=2.2.0 # Apache-2.0
+octavia-lib>=2.3.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 9231bb60..a4e7a9ba 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -11 +11 @@ oslotest>=3.2.0 # Apache-2.0
-pylint>=2.2.0 # GPLv2
+pylint>=2.5.3 # GPLv2
@@ -18 +18 @@ bandit!=1.6.0,>=1.1.0 # Apache-2.0
-tempest>=17.1.0 # Apache-2.0
+tempest>=23.0.0 # Apache-2.0






More information about the Release-announce mailing list