diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java index 51ba6ec02eaf..15aaf479eafa 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java @@ -297,7 +297,8 @@ public List getSupportedServices() { SourceNat.getName(), PortForwarding.getName())); } - if (getNsxSupportsLbService()) { + if (getNsxSupportsLbService() || (provider != null && provider.equalsIgnoreCase("Netris") && + NetworkOffering.NetworkMode.NATTED.name().equalsIgnoreCase(getNetworkMode()))) { services.add(Lb.getName()); } if (Boolean.TRUE.equals(forVpc)) { @@ -410,7 +411,8 @@ private void getServiceProviderMapForExternalProvider(Map> else if (NetworkOffering.NetworkMode.NATTED.name().equalsIgnoreCase(getNetworkMode()) || NetworkACL.getName().equalsIgnoreCase(service)) { serviceProviderMap.put(service, List.of(provider)); } - if (!getNsxSupportsLbService()) { + if (("Nsx".equalsIgnoreCase(provider) && !getNsxSupportsLbService()) || + ("Netris".equalsIgnoreCase(provider) && NetworkOffering.NetworkMode.ROUTED.name().equalsIgnoreCase(getNetworkMode()))) { serviceProviderMap.remove(Lb.getName()); } } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmd.java index 84f4d4514604..4bfcf33cb3e7 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmd.java @@ -194,7 +194,8 @@ public List getSupportedServices() { if (NetworkOffering.NetworkMode.ROUTED.name().equalsIgnoreCase(getNetworkMode())) { supportedServices.add(Gateway.getName()); } - if (getNsxSupportsLbService()) { + if (getNsxSupportsLbService() || (provider != null && provider.equalsIgnoreCase("Netris") && + NetworkOffering.NetworkMode.NATTED.name().equalsIgnoreCase(getNetworkMode()))) { supportedServices.add(Lb.getName()); } } @@ -259,7 +260,8 @@ else if (NetworkOffering.NetworkMode.NATTED.name().equalsIgnoreCase(getNetworkMo serviceProviderMap.put(service, List.of(provider)); } } - if (!getNsxSupportsLbService()) { + if (("Nsx".equalsIgnoreCase(provider) && !getNsxSupportsLbService()) || + ("Netris".equalsIgnoreCase(provider) && NetworkOffering.NetworkMode.ROUTED.name().equalsIgnoreCase(getNetworkMode()))) { serviceProviderMap.remove(Lb.getName()); } }