From 73f4929711d08dcb7d6c60a5c122d99b7da3fe5c Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Fri, 22 May 2026 10:59:26 +0200 Subject: [PATCH] server: exclude webserver/apache2 check in VPC VR without tiers --- .../router/VirtualNetworkApplianceManagerImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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);