As a result of debugging issues reported in https://bugs.launchpad.net/neutron/+bug/1818614 I found an issue with functional tests:
test_dvr_ha_router_failover_with_gw,
test_dvr_ha_router_failover_without_gw,
test_dvr_ha_router_failover_with_gw_and_floatingip
from module neutron.tests.functional.agent.l3.test_dvr_router are broken.
First thing which is wrong there is fact that those tests creates 2 independent routers on 2 agents. It's not one router in "master" and "standby" mode. Please check in https://github.com/openstack/neutron/blob/68fd13af40ce2752d2919ca569d3d3fe00ff6444/neutron/tests/functional/agent/l3/test_dvr_router.py#L1503
Second issue is that it assumes that always router on agent1 will be "master" and that may be different sometimes as it depends on keepalived negotiations.
Related fix proposed to branch: master /review. openstack. org/641996
Review: https:/