Load Balancing as a Service (LBaaS) for OpenStack
Go to file
Gregory Thiemonge 57833dbdad Retry to set loadbalancer prov status on failures
In case of DB outages when a flow is running, an exception is caught and
the flow is reverted. In most of the flows, the revert function of the
first task's (the last to be reverted) unlocks the load balancer by
setting its provisioning status (to ERROR or ACTIVE, depending on the
flow), but it fails if the DB is not reachable, leaving the LB in
a PENDING_* state.
This commit adds tenacity.retry to those functions, Octavia retries to
set the status during ~2h45 (2000 attempts, 1 sec initial delay, 5 sec
max delay).

Note: stable/2023.1 and older, the patch also includes modifications for
v1/tasks/lifecycle_tasks.py

Conflicts:
	octavia/tests/unit/controller/worker/test_task_utils.py
	octavia/controller/worker/v1/tasks/lifecycle_tasks.py

Closes-Bug: #2036952
Change-Id: I458dd6d6f5383edc24116ea0fa27e3a593044146
(cherry picked from commit be91493332)
(cherry picked from commit 96782e2c54)
2023-10-11 10:03:05 +02:00
api-ref/source Fix Octavia API HTTP Accept header handling 2023-02-16 23:23:35 +00:00
bin Update scripts to use fips allowed algorithms 2022-01-17 14:01:16 -05:00
devstack devstack: use iniset_rpc_backend 2022-09-27 08:52:46 +00:00
diskimage-create Merge "Update diskimage-create.sh to set jammy as default Ubuntu version" 2023-02-13 13:02:28 +00:00
doc Retry to set loadbalancer prov status on failures 2023-10-11 10:03:05 +02:00
elements Fix TCP HMs on UDP pools with SELinux 2023-07-03 10:25:10 +02:00
etc Pass config to castellan 2022-09-30 09:18:00 +02:00
httpd Fix user permission for WSGI configuration 2020-09-01 11:56:18 +00:00
octavia Retry to set loadbalancer prov status on failures 2023-10-11 10:03:05 +02:00
playbooks Fixing image builder jobs on Red Hat based distros 2022-07-12 14:48:13 +02:00
releasenotes Retry to set loadbalancer prov status on failures 2023-10-11 10:03:05 +02:00
specs Merge "Improve terminology in an old spec file" 2020-06-16 03:37:01 +00:00
specs-tests Update tox 'docs' environment to test specs 2016-09-08 15:18:43 -07:00
tools Add event notifications for load balancers. 2022-07-29 10:07:02 -05:00
zuul.d Merge "Fix octavia-amphora-image-build periodic job" into stable/2023.1 2023-07-03 20:35:23 +00:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 17:11:16 +05:30
.gitignore Add *.orig to .gitignore 2022-08-21 17:04:58 +02:00
.gitreview Update .gitreview for stable/2023.1 2023-03-03 11:15:45 +00:00
.pre-commit-config.yaml Add pre-commit 2022-09-29 13:18:26 +02:00
.pylintrc Fix new pep8/pylint warnings 2023-02-03 09:05:17 +01:00
.stestr.conf Gatefix: Migrate from testr to stestr 2017-09-13 17:12:21 +00:00
CONSTITUTION.rst Documentation updates 2022-03-23 10:00:47 +01:00
CONTRIBUTING.rst Ussuri contributor docs community goal 2020-03-25 16:55:48 -07:00
HACKING.rst Add pre-commit 2022-09-29 13:18:26 +02:00
LICENSE Populate repository with common initial files 2014-07-02 20:30:14 -07:00
README.rst Clarify the current status of Octavia in README 2020-08-18 17:23:06 +00:00
TESTING.rst Move to Python 3.8 2022-05-06 15:04:52 +02:00
bindep.txt Generate PDF documentation 2019-09-19 13:12:37 -07:00
requirements.txt Use new get_rpc_client API from oslo.messaging 2023-02-10 15:51:14 +01:00
setup.cfg Add conf file for oslo-config-generator 2022-09-04 05:14:16 +09:00
setup.py Updated from global requirements 2017-03-02 11:50:57 +00:00
test-requirements.txt Add WebTest as an indirect test dependency 2022-07-06 11:54:53 +02:00
tox.ini Update TOX_CONSTRAINTS_FILE for stable/2023.1 2023-03-03 11:15:47 +00: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.

Octavia provides the load balancing API for OpenStack. It supports multiple "provider drivers" that implement load balancing, including the "amphora" reference driver included with Octavia.

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