Load Balancing as a Service (LBaaS) for OpenStack
Go to file
Carlos Goncalves 92473ce210 Make health checks resilient to DB outages
Octavia is struggling with proper handling of DB connectivity issues
bringing down all running loadbalancers. Octavia tries to failover
amphorae and can fail in one of the following stages:

1. Octavia can't create new amphora because Nova isn't ready yet after
   DB outage. Nova-API throws 500, Octavia nukes amphora instance and
   won't try to recreate it again.
2. Octavia tries to recreate amphora instance but it gets stuck in
   PENDING_CREATE forever.
3. Octavia fails completely reporting DB connection issues, leaving some
   amphoras in error, some in pending_delete as bellow: It affects also
   HA deployments.

This patch fixes that by wrapping the DB check for health, waiting for
the connection to be re-established and sleeping off the full
"heartbeat_timeout" interval.

Story: 2003575
Task: 24871

Change-Id: I7b30cd31e1ce0cf9dab61484f4404f1c6ccddd5e
2018-09-11 12:21:22 -06:00
api-ref/source Fix UDP release note for CentOS 2018-08-08 13:25:24 -07:00
bin Two quick fixes (one log message, one cert create script thing) 2017-05-09 11:37:40 -04:00
devstack Fix DIB_REPOREF_amphora_agent not set on Git !=1.8.5 2018-07-25 08:38:57 +00:00
diskimage-create Introduce ipvsadm to the amphora image 2018-07-06 00:02:54 +00:00
doc Re-enable flow diagrams 2018-08-30 10:14:06 -07:00
elements Followup patch for UDP support 2018-08-07 20:55:11 -07:00
etc Merge "Remove user_group option" 2018-08-21 15:51:12 +00:00
httpd Run Octavia API in a WSGI server 2017-04-30 08:36:44 +00:00
octavia Make health checks resilient to DB outages 2018-09-11 12:21:22 -06:00
playbooks Add grenade support 2018-06-14 09:43:04 +01:00
releasenotes Make health checks resilient to DB outages 2018-09-11 12:21:22 -06:00
specs Merge "Implement provider drivers - Driver Library" 2018-07-26 23:51:50 +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 Use openstack-tox-cover template 2018-09-06 20:36:52 +02: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
babel.cfg Setup translation for octavia 2016-12-15 00:48:02 +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
lower-constraints.txt Re-enable flow diagrams 2018-08-30 10:14:06 -07:00
README.rst Merge "Trivial: Update pypi url to new url" 2018-05-27 10:00:57 +00:00
requirements.txt Move from platform.linux_distribution to distro.id 2018-06-29 17:25:54 -07:00
setup.cfg UDP for [2] 2018-08-07 11:13:58 +00: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
TESTING.rst Introduce TESTING.rst for quick developer reference 2017-04-07 21:48:31 +00:00
tox.ini Raise minimum coverage to 90% 2018-09-06 16:40:48 -07:00

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