From 3af2ce3f50406e88780c7117806040fe9db624c2 Mon Sep 17 00:00:00 2001 From: wilderrodrigues Date: Fri, 6 Feb 2015 14:12:40 +0100 Subject: [PATCH] Fix checkSanity. We do not need to check the priority anymore. - It's taken care by VRRP. wip: clean up where priority is still used. --- .../VirtualNetworkApplianceManagerImpl.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 1ad7a9fd1fa..588a354145d 100644 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -1077,10 +1077,19 @@ Configurable, StateListener { continue; } checkedNetwork.add(routerGuestNtwkId); - final List checkingRouters = _routerDao.listByNetworkAndRole(routerGuestNtwkId, Role.VIRTUAL_ROUTER); + + final List checkingRouters; + Long vpcId = router.getVpcId(); + if (vpcId != null) { + checkingRouters = _routerDao.listByVpcId(vpcId); + } else { + checkingRouters = _routerDao.listByNetworkAndRole(routerGuestNtwkId, Role.VIRTUAL_ROUTER); + } + if (checkingRouters.size() != 2) { continue; } + DomainRouterVO masterRouter = null; DomainRouterVO backupRouter = null; for (final DomainRouterVO r : checkingRouters) { @@ -1088,23 +1097,22 @@ Configurable, StateListener { if (masterRouter == null) { masterRouter = r; } else { - // Duplicate master! We give up, until the admin - // fix duplicate MASTER issue + // Wilder Rodrigues (wrodrigues@schubergphilis.com + // Force a restart in order to fix the conflict + recoverRedundantNetwork(masterRouter, r); break; } } else if (r.getRedundantState() == RedundantState.BACKUP) { if (backupRouter == null) { backupRouter = r; } else { + // Wilder Rodrigues (wrodrigues@schubergphilis.com + // Do we have 2 routers in Backup state? Perhaps a restart of 1 router is needed. + recoverRedundantNetwork(backupRouter, r); break; } } } - if (masterRouter != null && backupRouter != null) { - if (_nwHelper.getRealPriority(masterRouter) - DEFAULT_DELTA + 1 != _nwHelper.getRealPriority(backupRouter) || backupRouter.getIsPriorityBumpUp()) { - recoverRedundantNetwork(masterRouter, backupRouter); - } - } } } }