From d9612b723b49fad6453856eb70a81a15d42a01ac Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Thu, 7 Aug 2025 10:06:09 -0400 Subject: [PATCH 1/2] Add LB service to Custom VPC/Network offerings --- .../api/command/admin/network/CreateNetworkOfferingCmd.java | 4 ++-- .../api/command/admin/vpc/CreateVPCOfferingCmd.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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..c7825389059e 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,7 @@ public List getSupportedServices() { SourceNat.getName(), PortForwarding.getName())); } - if (getNsxSupportsLbService()) { + if (getNsxSupportsLbService() || (provider != null && provider.equalsIgnoreCase("Netris"))) { services.add(Lb.getName()); } if (Boolean.TRUE.equals(forVpc)) { @@ -410,7 +410,7 @@ 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()) { 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..4a6dc55dc868 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,7 @@ public List getSupportedServices() { if (NetworkOffering.NetworkMode.ROUTED.name().equalsIgnoreCase(getNetworkMode())) { supportedServices.add(Gateway.getName()); } - if (getNsxSupportsLbService()) { + if (getNsxSupportsLbService() || (provider != null && provider.equalsIgnoreCase("Netris"))) { supportedServices.add(Lb.getName()); } } @@ -259,7 +259,7 @@ else if (NetworkOffering.NetworkMode.NATTED.name().equalsIgnoreCase(getNetworkMo serviceProviderMap.put(service, List.of(provider)); } } - if (!getNsxSupportsLbService()) { + if ("Nsx".equalsIgnoreCase(provider) && !getNsxSupportsLbService()) { serviceProviderMap.remove(Lb.getName()); } } From 043818913266b2afc097b9d1949d9df19d2d3f14 Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Thu, 7 Aug 2025 10:51:04 -0400 Subject: [PATCH 2/2] fix offering --- .../api/command/admin/network/CreateNetworkOfferingCmd.java | 6 ++++-- .../api/command/admin/vpc/CreateVPCOfferingCmd.java | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) 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 c7825389059e..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() || (provider != null && provider.equalsIgnoreCase("Netris"))) { + 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 ("Nsx".equalsIgnoreCase(provider) && !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 4a6dc55dc868..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() || (provider != null && provider.equalsIgnoreCase("Netris"))) { + 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 ("Nsx".equalsIgnoreCase(provider) && !getNsxSupportsLbService()) { + if (("Nsx".equalsIgnoreCase(provider) && !getNsxSupportsLbService()) || + ("Netris".equalsIgnoreCase(provider) && NetworkOffering.NetworkMode.ROUTED.name().equalsIgnoreCase(getNetworkMode()))) { serviceProviderMap.remove(Lb.getName()); } }