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

weizhou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new 12f65fbcc01 build/packaging: build nsx only if noredist is passed 
(#8772)
12f65fbcc01 is described below

commit 12f65fbcc014d854651d3281ebfb62c4a56e6fae
Author: Wei Zhou <[email protected]>
AuthorDate: Thu Mar 21 17:00:31 2024 +0100

    build/packaging: build nsx only if noredist is passed (#8772)
---
 api/src/main/java/com/cloud/network/element/VpcProvider.java   |  3 +++
 client/pom.xml                                                 | 10 +++++-----
 .../network/contrail/management/ContrailVpcElementImpl.java    |  5 +++++
 .../main/java/org/apache/cloudstack/service/NsxElement.java    |  6 ++++++
 plugins/pom.xml                                                |  2 +-
 server/src/main/java/com/cloud/network/NetworkServiceImpl.java | 10 ++++++++--
 .../com/cloud/network/element/VpcVirtualRouterElement.java     |  5 +++++
 server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java | 10 +++++-----
 8 files changed, 38 insertions(+), 13 deletions(-)

diff --git a/api/src/main/java/com/cloud/network/element/VpcProvider.java 
b/api/src/main/java/com/cloud/network/element/VpcProvider.java
index 14e86195a70..6debd1fbc2d 100644
--- a/api/src/main/java/com/cloud/network/element/VpcProvider.java
+++ b/api/src/main/java/com/cloud/network/element/VpcProvider.java
@@ -22,6 +22,7 @@ import com.cloud.deploy.DeployDestination;
 import com.cloud.exception.ConcurrentOperationException;
 import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.IpAddress;
 import com.cloud.network.vpc.NetworkACLItem;
 import com.cloud.network.vpc.PrivateGateway;
 import com.cloud.network.vpc.StaticRouteProfile;
@@ -52,4 +53,6 @@ public interface VpcProvider extends NetworkElement {
     boolean applyStaticRoutes(Vpc vpc, List<StaticRouteProfile> routes) throws 
ResourceUnavailableException;
 
     boolean applyACLItemsToPrivateGw(PrivateGateway gateway, List<? extends 
NetworkACLItem> rules) throws ResourceUnavailableException;
+
+    boolean updateVpcSourceNatIp(Vpc vpc, IpAddress address);
 }
diff --git a/client/pom.xml b/client/pom.xml
index 666c0a4722d..a73aed7d032 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -296,11 +296,6 @@
             <artifactId>cloud-plugin-network-tungsten</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.cloudstack</groupId>
-            <artifactId>cloud-plugin-network-nsx</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.cloudstack</groupId>
             <artifactId>cloud-plugin-network-elb</artifactId>
@@ -1102,6 +1097,11 @@
                     <artifactId>cloud-plugin-network-cisco-vnmc</artifactId>
                     <version>${project.version}</version>
                 </dependency>
+                <dependency>
+                    <groupId>org.apache.cloudstack</groupId>
+                    <artifactId>cloud-plugin-network-nsx</artifactId>
+                    <version>${project.version}</version>
+                </dependency>
                 <dependency>
                     <groupId>org.apache.cloudstack</groupId>
                     <artifactId>cloud-plugin-api-vmware-sioc</artifactId>
diff --git 
a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailVpcElementImpl.java
 
b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailVpcElementImpl.java
index 85125bf3af6..d5060443c9e 100644
--- 
a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailVpcElementImpl.java
+++ 
b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailVpcElementImpl.java
@@ -31,6 +31,7 @@ import com.cloud.deploy.DeployDestination;
 import com.cloud.exception.ConcurrentOperationException;
 import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.IpAddress;
 import com.cloud.network.Network;
 import com.cloud.network.Network.Provider;
 import com.cloud.network.element.NetworkACLServiceProvider;
@@ -196,4 +197,8 @@ public class ContrailVpcElementImpl extends 
ContrailElementImpl implements Netwo
         return true;
     }
 
+    @Override
+    public boolean updateVpcSourceNatIp(Vpc vpc, IpAddress address) {
+        return true;
+    }
 }
diff --git 
a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxElement.java
 
b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxElement.java
index 1fb546ed122..d09049700e5 100644
--- 
a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxElement.java
+++ 
b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxElement.java
@@ -39,6 +39,7 @@ import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.host.Host;
 import com.cloud.host.HostVO;
 import com.cloud.host.Status;
+import com.cloud.network.IpAddress;
 import com.cloud.network.Network;
 import com.cloud.network.NetworkModel;
 import com.cloud.network.Networks;
@@ -899,4 +900,9 @@ public class NsxElement extends AdapterBase implements  
DhcpServiceProvider, Dns
         cmdList.add(ListInternalLoadBalancerElementsCmd.class);
         return cmdList;
     }
+
+    @Override
+    public boolean updateVpcSourceNatIp(Vpc vpc, IpAddress address) {
+        return nsxService.updateVpcSourceNatIp(vpc, address);
+    }
 }
diff --git a/plugins/pom.xml b/plugins/pom.xml
index 1083c36275f..bfe3060addf 100755
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -113,7 +113,6 @@
         <module>network-elements/brocade-vcs</module>
         <module>network-elements/vxlan</module>
         <module>network-elements/tungsten</module>
-        <module>network-elements/nsx</module>
 
         <module>outofbandmanagement-drivers/ipmitool</module>
         <module>outofbandmanagement-drivers/nested-cloudstack</module>
@@ -231,6 +230,7 @@
                 <module>backup/veeam</module>
                 <module>hypervisors/vmware</module>
                 <module>network-elements/cisco-vnmc</module>
+                <module>network-elements/nsx</module>
             </modules>
         </profile>
         <profile>
diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java 
b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java
index ca7d336f0a4..6168de1ef63 100644
--- a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java
@@ -4109,7 +4109,13 @@ public class NetworkServiceImpl extends ManagerBase 
implements NetworkService, C
 
                     // Add the config drive provider
                     addConfigDriveToPhysicalNetwork(pNetwork.getId());
-                    addNSXProviderToPhysicalNetwork(pNetwork.getId());
+
+                    // Add NSX provider
+                    try {
+                        addNSXProviderToPhysicalNetwork(pNetwork.getId());
+                    } catch (Exception ex) {
+                        logger.warn("Failed to add NSX provider to physical 
network due to:", ex.getMessage());
+                    }
 
                     
CallContext.current().putContextParameter(PhysicalNetwork.class, 
pNetwork.getUuid());
 
@@ -5510,7 +5516,7 @@ public class NetworkServiceImpl extends ManagerBase 
implements NetworkService, C
         DataCenterVO dvo = _dcDao.findById(pvo.getDataCenterId());
         if (dvo.getNetworkType() == NetworkType.Advanced) {
 
-            Provider provider = Network.Provider.getProvider("Nsx");
+            Provider provider = 
Network.Provider.getProvider(Provider.Nsx.getName());
             if (provider == null) {
                 return null;
             }
diff --git 
a/server/src/main/java/com/cloud/network/element/VpcVirtualRouterElement.java 
b/server/src/main/java/com/cloud/network/element/VpcVirtualRouterElement.java
index b8960629d80..0a1114b8307 100644
--- 
a/server/src/main/java/com/cloud/network/element/VpcVirtualRouterElement.java
+++ 
b/server/src/main/java/com/cloud/network/element/VpcVirtualRouterElement.java
@@ -716,4 +716,9 @@ public class VpcVirtualRouterElement extends 
VirtualRouterElement implements Vpc
         }
         return result;
     }
+
+    @Override
+    public boolean updateVpcSourceNatIp(Vpc vpc, IpAddress address) {
+        return true;
+    }
 }
diff --git a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java 
b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
index 755cf2bb05c..a7a4f67c6d5 100644
--- a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
@@ -42,7 +42,6 @@ import javax.inject.Inject;
 import javax.naming.ConfigurationException;
 
 import com.cloud.configuration.ConfigurationManager;
-import com.cloud.network.nsx.NsxService;
 import org.apache.cloudstack.acl.ControlledEntity.ACLType;
 import org.apache.cloudstack.alert.AlertService;
 import org.apache.cloudstack.annotation.AnnotationService;
@@ -265,9 +264,6 @@ public class VpcManagerImpl extends ManagerBase implements 
VpcManager, VpcProvis
     @Autowired
     @Qualifier("networkHelper")
     protected NetworkHelper networkHelper;
-    @Inject
-    private NsxService nsxService;
-
     @Inject
     private VpcPrivateGatewayTransactionCallable vpcTxCallable;
 
@@ -1433,7 +1429,11 @@ public class VpcManagerImpl extends ManagerBase 
implements VpcManager, VpcProvis
             try {
                 _ipAddrMgr.updateSourceNatIpAddress(requestedIp, userIps);
                 if (isVpcForNsx(vpc)) {
-                    nsxService.updateVpcSourceNatIp(vpc, requestedIp);
+                    VpcProvider nsxElement = (VpcProvider) 
_ntwkModel.getElementImplementingProvider(Provider.Nsx.getName());
+                    if (nsxElement == null) {
+                        return true;
+                    }
+                    nsxElement.updateVpcSourceNatIp(vpc, requestedIp);
                     // The NSX source NAT IP change does not require to update 
the VPC VR
                     return false;
                 }

Reply via email to