Fix failover with L3 HA

Since there was a few changes inside Neutron which now use primary
instead of master, failover did not properly function.  This patch
handles both master/primary until Neutron moves those keywords into
constants inside neutron-lib.

Change-Id: I9ff278801a400c52cc52d23b62b0b8447f91ebd8
(cherry picked from commit 76b606b8db)
This commit is contained in:
Mohammed Naser 2022-01-09 01:26:43 -05:00
parent 3354d7428f
commit ed83884cc8
2 changed files with 4 additions and 3 deletions

View File

@ -89,7 +89,7 @@ class VPNAgent(l3_extension.L3AgentExtension):
for device_driver in self.device_drivers:
if router_id in device_driver.processes:
process = device_driver.processes[router_id]
if state == 'master':
if state in ('master', 'primary'):
process.enable()
else:
process.disable()

View File

@ -486,7 +486,7 @@ class TestIPSecBase(framework.L3AgentTestFramework):
site.backup_router = self.create_router(self.failover_agent,
backup_info)
linux_utils.wait_until_true(
lambda: site.router.ha_state == 'master')
lambda: site.router.ha_state in ('master', 'primary'))
linux_utils.wait_until_true(
lambda: site.backup_router.ha_state == 'backup')
@ -554,7 +554,8 @@ class TestIPSecBase(framework.L3AgentTestFramework):
device_name = router1.get_ha_device_name()
ha_device = ip_lib.IPDevice(device_name, router1.ns_name)
ha_device.link.set_down()
linux_utils.wait_until_true(lambda: router2.ha_state == 'master')
linux_utils.wait_until_true(
lambda: router2.ha_state in ('master', 'primary'))
linux_utils.wait_until_true(lambda: router1.ha_state == 'backup')
def _ipsec_process_exists(self, conf, router, pid_files):