This is an automated email from the ASF dual-hosted git repository.

pearl11594 pushed a commit to branch nsx-fix-routed-mode
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 10401563c7887fb722978e330dd24ab35a97d374
Author: Pearl Dsilva <[email protected]>
AuthorDate: Thu Jan 18 19:39:52 2024 -0500

    NSX: Fix Routed Mode for Isolated and VPC networks
---
 .../apache/cloudstack/engine/orchestration/NetworkOrchestrator.java | 6 ++++++
 .../java/org/apache/cloudstack/service/NsxGuestNetworkGuru.java     | 5 ++++-
 server/src/main/java/com/cloud/server/ConfigurationServerImpl.java  | 3 +++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git 
a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
 
b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
index 87bede16443..c8574ade77c 100644
--- 
a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
+++ 
b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
@@ -41,6 +41,7 @@ import javax.naming.ConfigurationException;
 import com.cloud.dc.VlanDetailsVO;
 import com.cloud.dc.dao.VlanDetailsDao;
 import com.cloud.network.dao.NsxProviderDao;
+import com.cloud.network.element.NsxProviderVO;
 import org.apache.cloudstack.acl.ControlledEntity.ACLType;
 import org.apache.cloudstack.annotation.AnnotationService;
 import org.apache.cloudstack.annotation.dao.AnnotationDao;
@@ -1750,10 +1751,15 @@ public class NetworkOrchestrator extends ManagerBase 
implements NetworkOrchestra
         }
 
         //apply network ACLs
+        NsxProviderVO nsxProviderVO = 
nsxProviderDao.findByZoneId(zone.getId());
+        // Objects.isNull(nsxProviderVO) &&
         if (!_networkACLMgr.applyACLToNetwork(networkId)) {
             s_logger.warn("Failed to reapply network ACLs as a part of  of 
network id=" + networkId + " restart");
             success = false;
         }
+//        else if (Objects.nonNull(nsxProviderVO)) {
+//            success = true;
+//        }
 
         return success;
     }
diff --git 
a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxGuestNetworkGuru.java
 
b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxGuestNetworkGuru.java
index 8cf1d283fc7..9c153283b80 100644
--- 
a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxGuestNetworkGuru.java
+++ 
b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxGuestNetworkGuru.java
@@ -39,6 +39,7 @@ import com.cloud.network.dao.PhysicalNetworkVO;
 import com.cloud.network.guru.GuestNetworkGuru;
 import com.cloud.network.vpc.VpcVO;
 import com.cloud.offering.NetworkOffering;
+import com.cloud.offerings.NetworkOfferingVO;
 import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
 import com.cloud.user.Account;
 import com.cloud.user.dao.AccountDao;
@@ -227,7 +228,9 @@ public class NsxGuestNetworkGuru extends GuestNetworkGuru 
implements NetworkMigr
             throw new CloudRuntimeException(msg);
         }
 
-        if (isNull(network.getVpcId())) {
+        NetworkOfferingVO networkOfferingVO = 
networkOfferingDao.findById(network.getNetworkOfferingId());
+
+        if (isNull(network.getVpcId()) && 
networkOfferingVO.getNsxMode().equals(NetworkOffering.NsxMode.NATTED.name())) {
             long domainId = domain.getId();
             long accountId = account.getId();
             long dataCenterId = zone.getId();
diff --git a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java 
b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java
index e8049a2271e..bf719a579d4 100644
--- a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java
+++ b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java
@@ -1246,6 +1246,9 @@ public class ConfigurationServerImpl extends ManagerBase 
implements Configuratio
         serviceProviderMap.put(Service.Dhcp, routerProvider);
         serviceProviderMap.put(Service.Dns, routerProvider);
         serviceProviderMap.put(Service.UserData, routerProvider);
+        if (nsxMode == NetworkOffering.NsxMode.ROUTED && forVpc) {
+            serviceProviderMap.put(Service.NetworkACL, Provider.Nsx);
+        }
         if (nsxMode == NetworkOffering.NsxMode.NATTED) {
             serviceProviderMap.put(Service.SourceNat, Provider.Nsx);
             serviceProviderMap.put(Service.StaticNat, Provider.Nsx);

Reply via email to