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);
