From 27faaf2bda89349cc734944195050409397c8e7f Mon Sep 17 00:00:00 2001 From: Rakesh Venkatesh Date: Thu, 1 Apr 2021 12:17:30 +0200 Subject: [PATCH] Disable VR health check for VPC without tiers If the VPC has redundant VR's but doesnt have any tiers or there are no running VM's in a VPC then disable the gateway check for VR --- .../router/VirtualNetworkApplianceManagerImpl.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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 2b6032f42d35..28855db83407 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -1543,9 +1543,15 @@ private SetMonitorServiceCommand createMonitorServiceCommand(DomainRouterVO rout command.setAccessDetail(SetMonitorServiceCommand.ROUTER_HEALTH_CHECKS_BASIC_INTERVAL, RouterHealthChecksBasicInterval.value().toString()); command.setAccessDetail(SetMonitorServiceCommand.ROUTER_HEALTH_CHECKS_ADVANCED_INTERVAL, RouterHealthChecksAdvancedInterval.value().toString()); String excludedTests = RouterHealthChecksToExclude.valueIn(router.getDataCenterId()); - if (router.getIsRedundantRouter() && RedundantState.BACKUP.equals(router.getRedundantState())) { - excludedTests = excludedTests.isEmpty() ? BACKUP_ROUTER_EXCLUDED_TESTS : excludedTests + "," + BACKUP_ROUTER_EXCLUDED_TESTS; + if (router.getIsRedundantRouter()) { + // Disable gateway check if VPC has no tiers or no active VM's in it + final List routerGuestNtwkIds = _routerDao.getRouterNetworks(router.getId()); + if (RedundantState.BACKUP.equals(router.getRedundantState()) || + routerGuestNtwkIds == null || routerGuestNtwkIds.isEmpty()) { + excludedTests = excludedTests.isEmpty() ? BACKUP_ROUTER_EXCLUDED_TESTS : excludedTests + "," + BACKUP_ROUTER_EXCLUDED_TESTS; + } } + command.setAccessDetail(SetMonitorServiceCommand.ROUTER_HEALTH_CHECKS_EXCLUDED, excludedTests); command.setHealthChecksConfig(getRouterHealthChecksConfig(router)); command.setReconfigureAfterUpdate(reconfigure);