[release-announce] octavia 5.0.3 (train)

no-reply at openstack.org no-reply at openstack.org
Mon Oct 19 16:40:46 UTC 2020


We are chuffed to announce the release of:

octavia 5.0.3: OpenStack Octavia Scalable Load Balancer as a Service

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

5.0.3
^^^^^


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

* The failover improvements do not require an updated amphora image,
  but updating existing amphora will minimize the failover outage time
  for standalone amphora on subsequent failovers.


Bug Fixes
*********

* Fixed an issue where setting of SNI containers were not being
  applied on listener update API calls.

* Fixed an Octavia API validation on listener update where SNI
  containers could be set on non-TERMINATED_HTTPS listeners.

* Fixed an issue where some columns could not be used for sort keys
  in API list calls.

* Fix an issue when the barbican service enable TLS, we create the
  listerner failed.

* Fixed an issue where amphora load balancers fail to create when
  Nova anti-affinity is enabled and topology is SINGLE.

* Fixed an issue where listener "insert_headers" parameter was
  accepted for protocols that do not support header insertion.

* Fixed code that configured the CentOS/Red Hat amphora images to
  use the correct names for the network 'ifcfg' files for static
  routes and routing rules. It was using the wrong name for the routes
  file, and did not support IPv6 in either file. For more information,
  see https://storyboard.openstack.org/#!/story/2007051

* Significantly improved the reliability and performance of amphora
  and load balancer failovers. This is especially true when the Nova
  service is experiencing failures.

Changes in octavia 5.0.2..5.0.3
-------------------------------

8c32d2e6 Fix API sort key for complex columns
0117d215 Fix accepting 'insert_headers' when unsupported
60ddeb65 Pin pylint for stable branches
40777222 Increase the devstack secuirty group rules quota
5dc98989 Fix haproxy user flow log format substitution
b3113b33 Fix missing dependency in amphora create flow
d9981d17 Prioritize policy validation
b9dd0945 Fix listener update with SNI certificates
d6a7eebb Remove install DIB from Git option
dc47caa1 Fix missing params in amphora base and noop driver
d285f517 Add missing reload method in amphora noop driver
8eaa660c Refactor the failover flows
dad1357e Use retry for AmphoraComputeConnectivityWait
5954fe67 add the verify for the session
c760678c Fix the interface filenames for Red Hat amphora images


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

devstack/plugin.sh                                 |  12 +-
etc/octavia.conf                                   |  37 +
lower-constraints.txt                              |   3 +-
.../backends/agent/api_server/amphora_info.py      |  75 +-
.../backends/agent/api_server/keepalived.py        |   4 +
.../backends/agent/api_server/keepalivedlvs.py     |   6 +-
.../backends/agent/api_server/loadbalancer.py      |  35 +-
.../amphorae/backends/agent/api_server/osutils.py  |  52 +-
octavia/amphorae/backends/agent/api_server/util.py |  78 ++-
.../amphorae/backends/utils/ip_advertisement.py    | 183 +++++
.../amphorae/backends/utils/network_namespace.py   |  50 ++
octavia/amphorae/backends/utils/network_utils.py   |  86 +++
octavia/amphorae/driver_exceptions/exceptions.py   |   6 +
octavia/amphorae/drivers/driver_base.py            |  71 +-
octavia/amphorae/drivers/haproxy/exceptions.py     |   7 +-
.../amphorae/drivers/haproxy/rest_api_driver.py    |  89 ++-
.../drivers/keepalived/vrrp_rest_driver.py         |  67 +-
octavia/amphorae/drivers/noop_driver/driver.py     |  49 +-
octavia/api/common/pagination.py                   |  15 +-
octavia/api/common/types.py                        |   8 +
octavia/api/drivers/amphora_driver/v1/driver.py    |   7 +-
octavia/api/drivers/utils.py                       |  35 +-
octavia/api/v2/controllers/health_monitor.py       |  16 +-
octavia/api/v2/controllers/l7policy.py             |  28 +-
octavia/api/v2/controllers/l7rule.py               |  31 +-
octavia/api/v2/controllers/listener.py             |  11 +-
octavia/api/v2/controllers/load_balancer.py        |  57 +-
octavia/api/v2/controllers/member.py               |  14 +-
octavia/api/v2/controllers/pool.py                 |  33 +-
octavia/api/v2/types/listener.py                   |   1 +
octavia/certificates/common/auth/barbican_acl.py   |   4 +-
octavia/common/config.py                           |  49 +-
octavia/common/constants.py                        |  67 +-
octavia/common/data_models.py                      |   8 +
octavia/common/exceptions.py                       |  20 +-
.../jinja/haproxy/combined_listeners/jinja_cfg.py  |   4 +-
.../jinja/haproxy/split_listeners/jinja_cfg.py     |   4 +-
octavia/common/utils.py                            |  23 +
octavia/compute/drivers/noop_driver/driver.py      |   8 +-
octavia/compute/drivers/nova_driver.py             |  40 +-
octavia/controller/queue/v2/endpoints.py           |   8 +-
octavia/controller/worker/v1/controller_worker.py  | 428 +++++++-----
.../controller/worker/v1/flows/amphora_flows.py    | 760 ++++++++++++---------
.../worker/v1/flows/load_balancer_flows.py         | 450 ++++++++++--
.../worker/v1/tasks/amphora_driver_tasks.py        | 212 ++++--
.../controller/worker/v1/tasks/compute_tasks.py    |  82 ++-
.../controller/worker/v1/tasks/database_tasks.py   |  51 +-
.../controller/worker/v1/tasks/network_tasks.py    | 224 ++++--
octavia/controller/worker/v1/tasks/retry_tasks.py  |  74 ++
.../controller/worker/v2/flows/amphora_flows.py    |  20 +-
.../worker/v2/tasks/amphora_driver_tasks.py        |  30 +-
octavia/db/models.py                               |   4 +-
octavia/db/repositories.py                         |  15 +-
octavia/network/base.py                            |  52 ++
octavia/network/data_models.py                     |  16 +-
.../drivers/neutron/allowed_address_pairs.py       | 281 ++++++--
octavia/network/drivers/neutron/base.py            |  17 +-
octavia/network/drivers/neutron/utils.py           |  45 +-
octavia/network/drivers/noop_driver/driver.py      |  69 ++
octavia/opts.py                                    |   1 +
.../backend/agent/api_server/test_keepalivedlvs.py |  12 +-
.../backend/agent/api_server/test_server.py        |  22 +-
.../backends/agent/api_server/test_loadbalancer.py |  48 +-
.../backends/agent/api_server/test_osutils.py      | 180 ++++-
.../backends/agent/api_server/test_util.py         | 128 ++++
.../backends/utils/test_ip_advertisement.py        | 213 ++++++
.../backends/utils/test_network_namespace.py       | 117 ++++
.../amphorae/backends/utils/test_network_utils.py  | 140 ++++
.../amphorae/drivers/haproxy/test_exceptions.py    |  52 ++
.../drivers/haproxy/test_rest_api_driver_0_5.py    |  34 +-
.../drivers/haproxy/test_rest_api_driver_1_0.py    |  34 +-
.../drivers/haproxy/test_rest_api_driver_common.py |  83 +++
.../drivers/keepalived/test_vrrp_rest_driver.py    |  33 +-
.../test_noop_amphoraloadbalancer_driver.py        |  19 +-
.../unit/controller/queue/v2/test_endpoints.py     |   8 +-
.../worker/v1/flows/test_amphora_flows.py          | 223 ++++--
.../worker/v1/flows/test_load_balancer_flows.py    | 234 ++++++-
.../worker/v1/tasks/test_amphora_driver_tasks.py   | 255 +++++--
.../worker/v1/tasks/test_compute_tasks.py          |  70 +-
.../worker/v1/tasks/test_database_tasks.py         |  34 +-
.../worker/v1/tasks/test_network_tasks.py          | 415 ++++++++++-
.../controller/worker/v1/tasks/test_retry_tasks.py |  47 ++
.../controller/worker/v1/test_controller_worker.py | 729 ++++++++++++++++----
.../worker/v2/tasks/test_amphora_driver_tasks.py   |  11 +-
.../drivers/neutron/test_allowed_address_pairs.py  | 439 +++++++++++-
.../unit/network/drivers/neutron/test_utils.py     |   1 +
.../network/drivers/test_network_noop_driver.py    |  56 ++
...ner-update-sni-containers-6595c52e2de1f621.yaml |   8 +
.../notes/fix-api-sort-key-337f342d5cdce432.yaml   |   5 +
...ix-barbican-client-verfiy-689be1b9389bd1d8.yaml |   5 +
...amphora-create-dependency-a954ded0d260d462.yaml |   5 +
...header-insertion-mismatch-e3aeb5f5fee0348b.yaml |   5 +
...ra-images-interface-files-5ba1be40c65940d9.yaml |   8 +
.../refactor_failover_flow-9efcd854240f71ad.yaml   |  11 +
requirements.txt                                   |   3 +-
test-requirements.txt                              |   2 +-
tools/create_flow_docs.py                          |  14 +-
tools/flow-list.txt                                |   3 +-
zuul.d/jobs.yaml                                   |   1 -
110 files changed, 6988 insertions(+), 1517 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index c0f90407..6f803550 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -42 +42,2 @@ taskflow>=2.16.0 # Apache-2.0
-diskimage-builder!=1.6.0,!=1.7.0,!=1.7.1,>=1.1.2 # Apache-2.0
+diskimage-builder>=1.1.2,!=1.6.0,!=1.7.0,!=1.7.1,<3.0.0;python_version=='2.7' # Apache-2.0
+diskimage-builder>=1.26.0;python_version>='3.0' # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 18e1edeb..de3ebd66 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -13 +13 @@ pylint==1.9.2;python_version<'3.0' # GPLv2
-pylint>=1.9.2;python_version>='3.0' # GPLv2
+pylint>=1.9.2,<=2.5.3;python_version>='3.0' # GPLv2






More information about the Release-announce mailing list