neutron/neutron/tests/functional
Rodolfo Alonso Hernandez 5b45f947fd Delay HA router transition from "backup" to "master"
As described in the bug, when a HA router transitions from "master" to
"backup", "keepalived" processes will set the virtual IP in all other
HA routers. Each HA router will then advert it and "keepalived" will
decide, according to a trivial algorithm (higher interface IP), which
one should be "master". At this point, the other "keepalived" processes
running in the other servers, will remove the HA router virtual IP
assigned an instant before

To avoid transitioning some routers form "backup" to "master" and then
to "backup" in a very short period, this patch delays the "backup" to
"master" transition, waiting for a possible new "backup" state. If
during the waiting period (set to the HA VRRP advert time, 2 seconds
default) to set the HA state to "master", the L3 agent receives a new
"backup" HA state, the L3 agent does nothing.

Conflicts:
    neutron/agent/l3/agent.py
    neutron/agent/l3/ha_router.py

Closes-Bug: #1837635

Change-Id: I70037da9cdd0f8448e0af8dd96b4e3f5de5728ad
(cherry picked from commit 3f022a193f)
(cherry picked from commit adac5d9b7a)
(cherry picked from commit 7682d2fa77)
2020-04-21 15:30:25 +02:00
..
agent Delay HA router transition from "backup" to "master" 2020-04-21 15:30:25 +02:00
api use core resource api defs from lib 2017-11-08 09:48:50 -07:00
cmd More efficiently clean up OVS ports 2018-01-22 14:07:42 -06:00
common Untangle WaitTimeout class from eventlet.TimeoutError 2017-03-15 04:27:00 +00:00
db Add new test decorator skip_if_timeout 2019-02-20 09:55:39 +00:00
pecan_wsgi use callback payloads for REQUEST/RESPONSE events 2017-12-24 07:27:11 +00:00
plugins use neutron_lib's portbindings api-def 2017-03-31 09:16:22 -06:00
sanity sanity check: Check that ip_nonlocal_bind works with namespaces 2016-11-18 08:36:51 -05:00
scheduler Remove router_ids argument to auto_schedule_routers() 2017-12-04 15:07:29 -05:00
services Always set ovs bridge name in vif:binding-details 2020-01-02 17:14:21 +08:00
tests make net_helpers functions work on OpenSUSE 2017-09-20 09:59:44 -07:00
__init__.py tests: removed 'retargetable' framework 2017-05-02 16:45:49 +00:00
base.py Increase timeouts for OVSDB in functional tests 2019-09-13 10:57:41 +00:00
constants.py TrunkManager for the OVS agent 2016-08-24 02:52:17 -04:00
requirements.txt Don't return null-byte separated string from ExternalProcess.cmdline() 2017-03-08 07:50:51 +00:00
test_server.py Remove compat checks for psutil 1.x 2017-07-30 09:22:48 +02:00
test_service.py Use SIGUSR1 to notify l3 agent of changing prefix file 2015-11-13 17:53:47 +03:00