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