neutron/neutron/tests/functional/agent/l3
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
..
extensions [L3][QoS] Cover mixed dvr_snat and compute node dvr router 2018-05-08 20:06:00 +08:00
__init__.py Replace keepalived notifier bash script with Python ip monitor 2015-03-18 18:59:33 -04:00
framework.py Delay HA router transition from "backup" to "master" 2020-04-21 15:30:25 +02:00
test_dvr_router.py Give some HA router case specific resources 2019-04-25 08:30:34 +00:00
test_ha_router.py Delay HA router transition from "backup" to "master" 2020-04-21 15:30:25 +02:00
test_keepalived_state_change.py Set initial ha router state in neutron-keepalived-state-change 2019-03-14 21:15:56 +00:00
test_legacy_router.py Move check_ha_state_for_router() into notification code 2017-11-07 13:10:55 -05:00
test_metadata_proxy.py Switch ns-metadata-proxy to haproxy 2017-03-08 15:20:50 +00:00
test_namespace_manager.py Change ip_lib network namespace code to use pyroute2 2017-10-04 21:09:28 +00:00