Load Balancing as a Service (LBaaS) for OpenStack
Go to file
Gregory Thiemonge 1ad32d7cae Fix LB set in ERROR too early in the revert flow
When an error occurs in a flow, the provisioning status of the load
balancer should be set to ERROR in the revert method of the first task
of the flow. This update acts as an unlock of the LB object and cannot
occur in any other revert method because the API might consider the LB
as mutable before finishing a task/flow.

Remove all occurrences of mark_loadbalancer_prov_status_error calls in
revert method of tasks that are not specifically designed for unlocking
the load balancers. Add a LoadBalancerToErrorOnRevertTask task in the
amphora failover flow to prevent a LB to be in an immutable state.

Story 2009651
Task 43810
Story 2009652
Task 43811

Note for stable/train: the code of the amphorav2 is not updated in this
backport, the source files exist in train but the feature was added
ussuri. Backporting this patch creates many merge conflicts and doesn't
provide anything for train users.

Conflicts:
	octavia/controller/worker/v1/tasks/database_tasks.py
	octavia/controller/worker/v2/flows/amphora_flows.py
	octavia/controller/worker/v2/tasks/amphora_driver_tasks.py
	octavia/controller/worker/v2/tasks/database_tasks.py
	octavia/tests/unit/controller/worker/v2/flows/test_amphora_flows.py
	octavia/tests/unit/controller/worker/v2/tasks/test_amphora_driver_tasks.py
	octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks.py

Change-Id: I48b0f5a773209b1c1b056d71c0da05d6fd82ca73
(cherry picked from commit 4b8b198fec)
(cherry picked from commit 4039d35ce2)
(cherry picked from commit 844f1348ea)
(cherry picked from commit cf2a8bdf88)
(cherry picked from commit 95690e251d)
2021-11-16 15:06:31 +01:00
api-ref/source Fix memory consumption issues with default connection_limit 2020-12-01 19:41:26 +00:00
bin Use dual intermediate CAs for devstack 2019-08-27 16:28:12 -07:00
devstack Configure rsyslog on Octavia service nodes in devstack 2021-02-22 09:51:24 +01:00
diskimage-create Set Grub timeout to 0 for fast boot times 2020-09-21 08:03:55 +02:00
doc Remove the barbican "Grant access" from cookbook 2020-03-17 13:55:38 -07:00
elements Merge "Disable auto configuration of new interfaces in NetworkManager" into stable/train 2021-03-05 13:07:13 +00:00
etc Fix comment for the ca_certificates_file opt 2021-05-17 09:42:16 +02:00
httpd Fix user permission for WSGI configuration 2020-09-21 08:14:05 +02:00
octavia Fix LB set in ERROR too early in the revert flow 2021-11-16 15:06:31 +01:00
playbooks Fix periodic image builder jobs 2021-09-13 09:06:47 +02:00
releasenotes Fix LB set in ERROR too early in the revert flow 2021-11-16 15:06:31 +01:00
specs Update api-ref location 2019-07-22 19:18:40 +02:00
specs-tests Update tox 'docs' environment to test specs 2016-09-08 15:18:43 -07:00
tools Refactor the failover flows 2020-07-09 10:59:04 +00:00
zuul.d Explicitely set nodeset to Bionic-based 2021-05-25 14:46:33 +02:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 17:11:16 +05:30
.gitignore Ignore .vscode directory 2019-05-04 18:28:55 -06:00
.gitreview Update .gitreview for stable/train 2019-09-26 19:54:11 +00:00
.pylintrc Disable catching-non-exception in pylint 2020-04-27 18:34:35 +02:00
.stestr.conf Gatefix: Migrate from testr to stestr 2017-09-13 17:12:21 +00:00
CONSTITUTION.rst Update the documentation link for doc migration 2017-09-22 00:45:56 +00:00
CONTRIBUTING.rst Update links in CONTRIBUTING.rst 2017-09-20 05:24:21 +00:00
HACKING.rst Update the documentation link for doc migration 2017-09-22 00:45:56 +00:00
LICENSE Populate repository with common initial files 2014-07-02 20:30:14 -07:00
README.rst Replace git.openstack.org URLs with opendev.org URLs 2019-05-13 19:59:59 +00:00
TESTING.rst Introduce TESTING.rst for quick developer reference 2017-04-07 21:48:31 +00:00
babel.cfg Setup translation for octavia 2016-12-15 00:48:02 +00:00
bindep.txt Generate PDF documentation 2019-09-19 13:12:37 -07:00
requirements.txt Fix lower-constraints & requirements 2021-01-12 09:05:51 +01:00
setup.cfg Merge "Add long-running provider agent support" 2019-09-11 16:03:56 +00:00
setup.py Updated from global requirements 2017-03-02 11:50:57 +00:00
test-requirements.txt Fix lower-constraints & requirements 2021-01-12 09:05:51 +01:00
tox.ini Drop lower constraints testing (stable Train) 2021-03-05 09:36:46 -05:00

README.rst

Team and repository tags

image

Octavia

Latest Version

Octavia is an operator-grade open source scalable load balancer for use in large OpenStack deployments. It delivers load balancing services on amphorae and provides centralized command and control. Octavia is currently the reference backend for Neutron LBaaS. In the near future, Octavia is likely to become the standard OpenStack LBaaS API endpoint.

Octavia is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.

Project resources

Developer documentation for the Octavia project is available at https://docs.openstack.org/octavia/latest/

Release notes for the Octavia project are available at https://docs.openstack.org/releasenotes/octavia/

The project source code repository is located at https://opendev.org/openstack/octavia

Project status, bugs, and requests for feature enhancements are tracked on https://storyboard.openstack.org/#!/project/openstack/octavia

For more information on project direction and guiding principles for contributors, please see the CONSTITUTION.rst file in this directory, or specifications in the specs/ sub-directory.

The project roadmap is available at https://wiki.openstack.org/wiki/Octavia/Roadmap

External Resources