diff --git a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 2fad41ed6da..b58f505213f 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -1075,7 +1075,9 @@ Configurable, StateListener routerGuestNtwkIds = _routerDao.getRouterNetworks(router.getId()); - for (final Long routerGuestNtwkId : routerGuestNtwkIds) { + final Long vpcId = router.getVpcId(); + if (vpcId != null || routerGuestNtwkIds.size() > 0) { + Long routerGuestNtwkId = vpcId != null ? vpcId : routerGuestNtwkIds.get(0); if (router.getRedundantState() == RedundantState.MASTER) { if (networkRouterMaps.containsKey(routerGuestNtwkId)) { final DomainRouterVO dupRouter = networkRouterMaps.get(routerGuestNtwkId); @@ -1084,7 +1086,6 @@ Configurable, StateListener networks = _networkDao.listVpcNetworks(); - s_logger.debug("Found " + networks.size() + " VPC networks to update Redundant State. "); + List networks = new ArrayList<>(); + for (Vpc vpc : _vpcDao.listAll()) { + List vpcNetworks = _networkDao.listByVpc(vpc.getId()); + if (vpcNetworks.size() > 0) { + networks.add(vpcNetworks.get(0)); + } + } + s_logger.debug("Found " + networks.size() + " VPC's to update Redundant State. "); pushToUpdateQueue(networks); networks = _networkDao.listRedundantNetworks();