Load Balancing as a Service (LBaaS) for OpenStack
Go to file
Michael Johnson 0139f12c2e Fix failover when multiple amphora have failed
If a load balancer loses more than one amphora at the same time
the failover process will fail and leave the load balancer in
provisioning status ERROR.

This patch resolves this by failing over one amphora at a time
marking any amphora that are also failed in status ERROR. The health
manager will then failover the other failed amphora in subsequent checks.

This patch will update multiple healthy amphora in parallel and will
timeout failed amphroa using the new "active_connection_max_retries"
configuration setting used for "fail-fast" connections.

The patch also updates the amphora failover flow documentation to
show the full flow and not just the spares failover flow.

It updates the amphora driver "get_diagnostics" method to pass instead
of error.

It also adds a AmphoraComputeConnectivityWait task to explicitly wait
for a compute instance to come up and be reachable. This allows a longer
timeout and clarifies this may fail due to compute (nova) failures.
Previously the first plug vip task would do this wait.

Change-Id: Ief97ddda8261b5bbc54c6824f90ae9c7a2d81701
Story: 2001481
Task: 6202
2018-07-22 16:08:45 -07:00
api-ref/source Adding support for the octavia listener X-Forwarded-Proto header insertion. 2018-06-19 09:55:36 +02:00
bin Two quick fixes (one log message, one cert create script thing) 2017-05-09 11:37:40 -04:00
devstack Allow setting load balancer topology in Devstack 2018-07-10 14:05:58 +00:00
diskimage-create Introduce ipvsadm to the amphora image 2018-07-06 00:02:54 +00:00
doc Temporarily disable flow diagraming 2018-07-22 15:45:09 -07:00
elements Fixes unlimited listener connection limit 2018-07-19 09:47:31 +02:00
etc Fix failover when multiple amphora have failed 2018-07-22 16:08:45 -07:00
httpd Run Octavia API in a WSGI server 2017-04-30 08:36:44 +00:00
octavia Fix failover when multiple amphora have failed 2018-07-22 16:08:45 -07:00
playbooks Add grenade support 2018-06-14 09:43:04 +01:00
releasenotes Fix failover when multiple amphora have failed 2018-07-22 16:08:45 -07:00
specs Merge "[doc] Add the missing markup for the hyperlink title" 2018-07-10 12:38:12 +00:00
specs-tests Update tox 'docs' environment to test specs 2016-09-08 15:18:43 -07:00
tools Fix failover when multiple amphora have failed 2018-07-22 16:08:45 -07:00
zuul.d Make octavia-grenade job voting 2018-06-21 16:58:11 -04:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 17:11:16 +05:30
.gitignore Merge "Add api-ref for amphora failover" 2018-01-13 01:59:24 +00:00
.gitreview Update .gitreview file for project rename 2015-06-12 23:12:30 +00:00
.pylintrc Move from platform.linux_distribution to distro.id 2018-06-29 17:25:54 -07: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 Merge "Trivial: Update pypi url to new url" 2018-05-27 10:00:57 +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
lower-constraints.txt Move from platform.linux_distribution to distro.id 2018-06-29 17:25:54 -07:00
requirements.txt Move from platform.linux_distribution to distro.id 2018-06-29 17:25:54 -07:00
setup.cfg Follow the new PTI for document build 2018-07-09 16:59:50 +07:00
setup.py Updated from global requirements 2017-03-02 11:50:57 +00:00
test-requirements.txt fix tox python3 overrides 2018-06-27 09:32:00 +08:00
tox.ini fix tox python3 overrides 2018-06-27 09:32:00 +08: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://git.openstack.org/cgit/openstack/octavia

Project status, bugs, and requests for feature enhancements are tracked on https://launchpad.net/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