octavia/devstack
Gregory Thiemonge 0f4b5ca2c2 Fix controller worker graceful shutdown
Fix an issue that prevents graceful shutdown of controller workers.

cotyledon.Service.terminate function is by definition the graceful
termination function and doesn't have any 'graceful' optional boolean
argument (https://cotyledon.readthedocs.io/en/latest/api.html).

Because of this error, message_listener.wait() was never called in the
consumers' termination functions, so flows could be interrupted before
completion and could leave resources such as load balancer in a
PENDING_* provisioning state.

By default cotyledon.Service terminates the server after a timeout if
the worker could not shutdown itself gracefully. The default value
for the timeout is 300 seconds (set in devstack plugin) and can be
overriden using the graceful_shutdown_timeout setting in octavia.conf
The default value will be updated to a lower value when work on
persistant taskflow will be merged.

Story: 2006603
Task: 36770

Change-Id: I3f776bd018246897c9a889699a2d0ecbbfbb7098
(cherry picked from commit 215c4c2284)
(cherry picked from commit 0fc1ea4789)
2019-11-21 10:24:35 +01:00
..
contrib Updates Octavia to support octavia-lib 2019-03-07 14:40:22 +01:00
etc/octavia Enable support for multinode in the gate hook 2016-10-17 10:50:31 +02:00
files devstack: Define packages for (open)SUSE 2018-09-04 13:53:09 +02:00
pregenerated Fixes pregenerated certificates validity to 50y 2016-10-14 18:05:12 +02:00
samples Updates Octavia to support octavia-lib 2019-03-07 14:40:22 +01:00
upgrade Fix grenade job to clone Octavia from base branch 2019-01-02 19:00:33 +01:00
plugin.sh Fix controller worker graceful shutdown 2019-11-21 10:24:35 +01:00
README.md Updates Octavia to support octavia-lib 2019-03-07 14:40:22 +01:00
settings Updates Octavia to support octavia-lib 2019-03-07 14:40:22 +01:00

This directory contains the octavia devstack plugin. To configure octavia, in the local section you will need to enable the octavia devstack plugin and enable the octavia service by editing the local section of your local.conf file.

  1. Enable the plugin

To enable the octavia plugin, add a line of the form:

enable_plugin octavia <GITURL> [GITREF]

where

<GITURL> is the URL of an octavia repository
[GITREF] is an optional git ref (branch/ref/tag).  The default is
         master.

For example

enable_plugin octavia https://git.openstack.org/openstack/octavia master
  1. Enable the Octavia services

For example

ENABLED_SERVICES+=octavia,o-api,o-cw,o-hk,o-hm,o-da

For more information, see the "Externally Hosted Plugins" section of https://docs.openstack.org/devstack/latest/plugins.html