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 134141575d58..94bf46f003c3 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -1568,16 +1568,23 @@ private SetMonitorServiceCommand createMonitorServiceCommand(DomainRouterVO rout command.setAccessDetail(SetMonitorServiceCommand.ROUTER_HEALTH_CHECKS_ENABLED, RouterHealthChecksEnabled.value().toString()); command.setAccessDetail(SetMonitorServiceCommand.ROUTER_HEALTH_CHECKS_BASIC_INTERVAL, RouterHealthChecksBasicInterval.value().toString()); command.setAccessDetail(SetMonitorServiceCommand.ROUTER_HEALTH_CHECKS_ADVANCED_INTERVAL, RouterHealthChecksAdvancedInterval.value().toString()); + + final List routerGuestNtwkIds = _routerDao.getRouterNetworks(router.getId()); String excludedTests = RouterHealthChecksToExclude.valueIn(router.getDataCenterId()); 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; } } + if (router.getVpcId() != null && CollectionUtils.isEmpty(routerGuestNtwkIds)) { + // If router belongs to a VPC and has no guest network associated, exclude webserver service which is expected to fail + String webserverServiceName = _monitorServiceDao.getServiceByName(MonitoringService.Service.Webserver.toString()).getServiceName(); + excludedTests = excludedTests.isEmpty() ? webserverServiceName : excludedTests + "," + webserverServiceName; + } + command.setAccessDetail(SetMonitorServiceCommand.ROUTER_HEALTH_CHECKS_EXCLUDED, excludedTests); command.setHealthChecksConfig(routerHealthCheckConfig); command.setReconfigureAfterUpdate(reconfigure);