From 44991773b921a3b08bf5eacbdad1fbbe7aded0e0 Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Mon, 20 May 2024 17:40:47 -0400 Subject: [PATCH] Update UDP active monitor to ICMP --- .../org/apache/cloudstack/service/NsxApiClient.java | 11 ++++------- .../apache/cloudstack/utils/NsxControllerUtils.java | 3 +++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxApiClient.java b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxApiClient.java index d443b0e14e7..a24d881a706 100644 --- a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxApiClient.java +++ b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxApiClient.java @@ -45,13 +45,13 @@ import com.vmware.nsx_policy.model.GroupListResult; import com.vmware.nsx_policy.model.ICMPTypeServiceEntry; import com.vmware.nsx_policy.model.L4PortSetServiceEntry; import com.vmware.nsx_policy.model.LBAppProfileListResult; +import com.vmware.nsx_policy.model.LBIcmpMonitorProfile; import com.vmware.nsx_policy.model.LBMonitorProfileListResult; import com.vmware.nsx_policy.model.LBPool; import com.vmware.nsx_policy.model.LBPoolListResult; import com.vmware.nsx_policy.model.LBPoolMember; import com.vmware.nsx_policy.model.LBService; import com.vmware.nsx_policy.model.LBTcpMonitorProfile; -import com.vmware.nsx_policy.model.LBUdpMonitorProfile; import com.vmware.nsx_policy.model.LBVirtualServer; import com.vmware.nsx_policy.model.LBVirtualServerListResult; import com.vmware.nsx_policy.model.LocaleServicesListResult; @@ -123,7 +123,7 @@ public class NsxApiClient { // TODO: Pass as global / zone-level setting? protected static final String NSX_LB_PASSIVE_MONITOR = "/infra/lb-monitor-profiles/default-passive-lb-monitor"; protected static final String TCP_MONITOR_PROFILE = "LBTcpMonitorProfile"; - protected static final String UDP_MONITOR_PROFILE = "LBUdpMonitorProfile"; + protected static final String ICMP_MONITOR_PROFILE = "LBIcmpMonitorProfile"; protected static final String NAT_ID = "USER"; private enum PoolAllocation { ROUTING, LB_SMALL, LB_MEDIUM, LB_LARGE, LB_XLARGE } @@ -637,13 +637,10 @@ public class NsxApiClient { .build(); lbActiveMonitor.patch(lbMonitorProfileId, lbTcpMonitorProfile); } else if ("UDP".equals(protocol.toUpperCase(Locale.ROOT))) { - LBUdpMonitorProfile lbUdpMonitorProfile = new LBUdpMonitorProfile.Builder(UDP_MONITOR_PROFILE) + LBIcmpMonitorProfile icmpMonitorProfile = new LBIcmpMonitorProfile.Builder(ICMP_MONITOR_PROFILE) .setDisplayName(lbMonitorProfileId) - .setMonitorPort(Long.parseLong(port)) - .setSend("") - .setReceive("") .build(); - lbActiveMonitor.patch(lbMonitorProfileId, lbUdpMonitorProfile); + lbActiveMonitor.patch(lbMonitorProfileId, icmpMonitorProfile); } LBMonitorProfileListResult listResult = listLBActiveMonitors(lbActiveMonitor); diff --git a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/utils/NsxControllerUtils.java b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/utils/NsxControllerUtils.java index e064a6b6291..f44364f34c8 100644 --- a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/utils/NsxControllerUtils.java +++ b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/utils/NsxControllerUtils.java @@ -124,6 +124,9 @@ public class NsxControllerUtils { } public static String getActiveMonitorProfileName(String lbServerPoolName, String port, String protocol) { + if (protocol.equalsIgnoreCase("udp")) { + protocol = "ICMP"; + } return lbServerPoolName + "-" + protocol + "-" + port + "-AM"; }