build/packaging: build nsx only if noredist is passed (#8772)

This commit is contained in:
Wei Zhou 2024-03-21 17:00:31 +01:00 committed by GitHub
parent 9245354b43
commit 12f65fbcc0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 38 additions and 13 deletions

View File

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

View File

@ -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>

View File

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

View File

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

View File

@ -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>

View File

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

View File

@ -716,4 +716,9 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
}
return result;
}
@Override
public boolean updateVpcSourceNatIp(Vpc vpc, IpAddress address) {
return true;
}
}

View File

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