Updated Branches:
  refs/heads/master 2a58a7698 -> 9c0f9aceb

CLOUDSTACK-2285:[GSLB] addNetscalerLoadBalancer with GSLB functionality
shouldn't be exposed in basic zone

reverting the original fix for this bug. When you add network service
provider instance into a physical network in a basic zone, its not
necessary that a network has been provisioned into zone. So its no
straight-forward to know if the basic zone network has EIP/ELB services enabled.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f84a2732
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f84a2732
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f84a2732

Branch: refs/heads/master
Commit: f84a27324d2f0c586d825a20f02ebcb149078c84
Parents: 2a58a76
Author: Murali Reddy <muralimmre...@gmail.com>
Authored: Fri May 31 10:25:12 2013 +0530
Committer: Murali Reddy <muralimmre...@gmail.com>
Committed: Fri May 31 19:08:38 2013 +0530

----------------------------------------------------------------------
 .../ExternalLoadBalancerDeviceManagerImpl.java     |   31 ++++----------
 1 files changed, 9 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f84a2732/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java 
b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
index 04f9682..4b110e9 100644
--- a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
+++ b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
@@ -138,8 +138,6 @@ public abstract class ExternalLoadBalancerDeviceManagerImpl 
extends AdapterBase
     @Inject
     NetworkManager _networkMgr;
     @Inject
-    NetworkDao _networksDao = null;
-    @Inject
     InlineLoadBalancerNicMapDao _inlineLoadBalancerNicMapDao;
     @Inject
     NicDao _nicDao;
@@ -210,34 +208,23 @@ 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());
 
+        ntwkSvcProvider = 
_physicalNetworkServiceProviderDao.findByServiceProvider(pNetwork.getId(), 
ntwkDevice.getNetworkServiceProvder());
+        if (ntwkSvcProvider == null) {
+            throw new CloudRuntimeException("Network Service Provider: " + 
ntwkDevice.getNetworkServiceProvder() +
+                    " is not enabled in the physical network: " + 
physicalNetworkId + "to add this device");
+        } else if (ntwkSvcProvider.getState() == 
PhysicalNetworkServiceProvider.State.Shutdown) {
+            throw new CloudRuntimeException("Network Service Provider: " + 
ntwkSvcProvider.getProviderName() +
+                    " is in shutdown state in the physical network: " + 
physicalNetworkId + "to add this device");
+        }
+
         if (gslbProvider) {
             ExternalLoadBalancerDeviceVO zoneGslbProvider = 
_externalLoadBalancerDeviceDao.findGslbServiceProvider(
                     physicalNetworkId, ntwkDevice.getNetworkServiceProvder());
             if (zoneGslbProvider != null) {
                 throw new CloudRuntimeException("There is a GSLB service 
provider configured in the zone alredy.");
             }
-        } else {
-            ntwkSvcProvider = 
_physicalNetworkServiceProviderDao.findByServiceProvider(pNetwork.getId(), 
ntwkDevice.getNetworkServiceProvder());
-            if (ntwkSvcProvider == null) {
-                throw new CloudRuntimeException("Network Service Provider: " + 
ntwkDevice.getNetworkServiceProvder() +
-                        " is not enabled in the physical network: " + 
physicalNetworkId + "to add this device");
-            } else if (ntwkSvcProvider.getState() == 
PhysicalNetworkServiceProvider.State.Shutdown) {
-                throw new CloudRuntimeException("Network Service Provider: " + 
ntwkSvcProvider.getProviderName() +
-                        " is in shutdown state in the physical network: " + 
physicalNetworkId + "to add this device");
-            }
         }
 
         URI uri;

Reply via email to