mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-2285: [GSLB] addNetscalerLoadBalancer with GSLB functionality shouldn't be
exposed in basic zone imposing restriction that NetScaler can only be added when EIP/ELB service are available in basic zone.
This commit is contained in:
parent
c8a0c40a2f
commit
ee317287b3
|
|
@ -138,6 +138,8 @@ public abstract class ExternalLoadBalancerDeviceManagerImpl extends AdapterBase
|
|||
@Inject
|
||||
NetworkManager _networkMgr;
|
||||
@Inject
|
||||
NetworkDao _networksDao = null;
|
||||
@Inject
|
||||
InlineLoadBalancerNicMapDao _inlineLoadBalancerNicMapDao;
|
||||
@Inject
|
||||
NicDao _nicDao;
|
||||
|
|
@ -208,6 +210,17 @@ public abstract class ExternalLoadBalancerDeviceManagerImpl extends AdapterBase
|
|||
}
|
||||
|
||||
zoneId = pNetwork.getDataCenterId();
|
||||
DataCenter dc = _dcDao.findById(zoneId);
|
||||
if (dc.getNetworkType() == DataCenter.NetworkType.Basic) {
|
||||
List<com.cloud.network.dao.NetworkVO> guestNetworks = _networksDao.listByZoneAndTrafficType(dc.getId(), TrafficType.Guest);
|
||||
com.cloud.network.dao.NetworkVO basicZoneNetwork = guestNetworks.get(0);
|
||||
NetworkOfferingVO ntwkOff = _networkOfferingDao.findById(basicZoneNetwork.getNetworkOfferingId());
|
||||
if (!ntwkOff.getElasticIp() && !ntwkOff.getElasticLb()) {
|
||||
throw new InvalidParameterValueException("Could not add external load balancer device in to basic zone "
|
||||
+ " with no Elastic IP and Elastic LB services.");
|
||||
}
|
||||
}
|
||||
|
||||
PhysicalNetworkServiceProviderVO ntwkSvcProvider = _physicalNetworkServiceProviderDao.findByServiceProvider(pNetwork.getId(), ntwkDevice.getNetworkServiceProvder());
|
||||
|
||||
if (gslbProvider) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue