Updated Branches:
  refs/heads/vpc ade3ae4e3 -> f59b935da

VPC: CS-15519 - fixed ipAssoc when only zoneId parameter is passed in to the 
API call

Conflicts:

        api/src/com/cloud/api/commands/AssociateIPAddrCmd.java
        server/src/com/cloud/network/ExternalLoadBalancerUsageManagerImpl.java


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

Branch: refs/heads/vpc
Commit: f59b935da53a121e580a5d1894d5d71751133815
Parents: ade3ae4
Author: Alena Prokharchyk <[email protected]>
Authored: Tue Jul 10 15:14:31 2012 -0700
Committer: Alena Prokharchyk <[email protected]>
Committed: Tue Jul 10 15:20:39 2012 -0700

----------------------------------------------------------------------
 .../com/cloud/api/commands/AssociateIPAddrCmd.java |   30 +++++++-------
 .../ExternalLoadBalancerUsageManagerImpl.java      |    4 +-
 .../src/com/cloud/network/NetworkManagerImpl.java  |    4 +-
 server/src/com/cloud/network/dao/NetworkDao.java   |    2 +-
 .../src/com/cloud/network/dao/NetworkDaoImpl.java  |   17 ++++++--
 5 files changed, 32 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f59b935d/api/src/com/cloud/api/commands/AssociateIPAddrCmd.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/api/commands/AssociateIPAddrCmd.java 
b/api/src/com/cloud/api/commands/AssociateIPAddrCmd.java
index 6ac4a1d..7fab4c1 100644
--- a/api/src/com/cloud/api/commands/AssociateIPAddrCmd.java
+++ b/api/src/com/cloud/api/commands/AssociateIPAddrCmd.java
@@ -171,22 +171,22 @@ public class AssociateIPAddrCmd extends 
BaseAsyncCreateCmd {
     
     @Override
     public long getEntityOwnerId() {
-       Account caller = UserContext.current().getCaller();
-       if (accountName != null && domainId != null) {
-               Account account = _accountService.finalizeOwner(caller, 
accountName, domainId, projectId);
-               return account.getId();
-       } else if (getNetworkId() != null){
-               Network network = _networkService.getNetwork(getNetworkId());
+        Account caller = UserContext.current().getCaller();
+        if (accountName != null && domainId != null) {
+            Account account = _accountService.finalizeOwner(caller, 
accountName, domainId, projectId);
+            return account.getId();
+        } else if (networkId != null){
+            Network network = _networkService.getNetwork(networkId);
             return network.getAccountId();
-       } else if (vpcId != null) {
-           Vpc vpc = _vpcService.getVpc(getVpcId());
-           if (vpc == null) {
-               throw new InvalidParameterValueException("Can't find Enabled 
vpc by id specified");
-           }
-           return vpc.getAccountId();
-       }
-       
-       throw new InvalidParameterValueException("Failed to determine ip 
owner");
+        } else if (vpcId != null) {
+            Vpc vpc = _vpcService.getVpc(getVpcId());
+            if (vpc == null) {
+                throw new InvalidParameterValueException("Can't find Enabled 
vpc by id specified");
+            }
+            return vpc.getAccountId();
+        }
+
+        return caller.getAccountId();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f59b935d/server/src/com/cloud/network/ExternalLoadBalancerUsageManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/network/ExternalLoadBalancerUsageManagerImpl.java 
b/server/src/com/cloud/network/ExternalLoadBalancerUsageManagerImpl.java
index 01d5331..6749496 100644
--- a/server/src/com/cloud/network/ExternalLoadBalancerUsageManagerImpl.java
+++ b/server/src/com/cloud/network/ExternalLoadBalancerUsageManagerImpl.java
@@ -355,7 +355,7 @@ public class ExternalLoadBalancerUsageManagerImpl 
implements ExternalLoadBalance
 
                     long zoneId = zone.getId();
 
-                    List<NetworkVO> networksForAccount = 
_networkDao.listBy(accountId, zoneId, Network.GuestType.Isolated);
+                    List<NetworkVO> networksForAccount = 
_networkDao.listByZoneAndGuestType(accountId, zoneId, 
Network.GuestType.Isolated, false);
                     if (networksForAccount == null) {
                         continue;
                     }
@@ -559,4 +559,4 @@ public class ExternalLoadBalancerUsageManagerImpl 
implements ExternalLoadBalance
             }
         }
     }
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f59b935d/server/src/com/cloud/network/NetworkManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java 
b/server/src/com/cloud/network/NetworkManagerImpl.java
index 961fabc..c310919 100755
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@ -1016,7 +1016,7 @@ public class NetworkManagerImpl implements 
NetworkManager, NetworkService, Manag
     @Override
     public List<? extends Network> 
getIsolatedNetworksOwnedByAccountInZone(long zoneId, Account owner) {
 
-        return _networksDao.listBy(owner.getId(), zoneId, 
Network.GuestType.Isolated);
+        return _networksDao.listByZoneAndGuestType(owner.getId(), zoneId, 
Network.GuestType.Isolated, false);
     }
     
     @Override
@@ -4480,7 +4480,7 @@ public class NetworkManagerImpl implements 
NetworkManager, NetworkService, Manag
     @Override
     public String getIpOfNetworkElementInVirtualNetwork(long accountId, long 
dataCenterId) {
 
-        List<NetworkVO> virtualNetworks = _networksDao.listBy(accountId, 
dataCenterId, Network.GuestType.Isolated);
+        List<NetworkVO> virtualNetworks = 
_networksDao.listByZoneAndGuestType(accountId, dataCenterId, 
Network.GuestType.Isolated, false);
 
         if (virtualNetworks.isEmpty()) {
             s_logger.trace("Unable to find default Virtual network account 
id=" + accountId);

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f59b935d/server/src/com/cloud/network/dao/NetworkDao.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/NetworkDao.java 
b/server/src/com/cloud/network/dao/NetworkDao.java
index 56edc6e..63b6f08 100644
--- a/server/src/com/cloud/network/dao/NetworkDao.java
+++ b/server/src/com/cloud/network/dao/NetworkDao.java
@@ -35,7 +35,7 @@ public interface NetworkDao extends GenericDao<NetworkVO, 
Long> {
 
     List<NetworkVO> listBy(long accountId, long dataCenterId, String cidr);
 
-    List<NetworkVO> listBy(long accountId, long dataCenterId, 
Network.GuestType type);
+    List<NetworkVO> listByZoneAndGuestType(long accountId, long dataCenterId, 
Network.GuestType type, Boolean isSystem);
 
     NetworkVO persist(NetworkVO network, boolean gc, Map<String, String> 
serviceProviderMap);
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f59b935d/server/src/com/cloud/network/dao/NetworkDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/NetworkDaoImpl.java 
b/server/src/com/cloud/network/dao/NetworkDaoImpl.java
index 1796559..7664817 100644
--- a/server/src/com/cloud/network/dao/NetworkDaoImpl.java
+++ b/server/src/com/cloud/network/dao/NetworkDaoImpl.java
@@ -99,6 +99,9 @@ public class NetworkDaoImpl extends GenericDaoBase<NetworkVO, 
Long> implements N
         AllFieldsSearch.and("physicalNetwork", 
AllFieldsSearch.entity().getPhysicalNetworkId(), Op.EQ);
         AllFieldsSearch.and("broadcastUri", 
AllFieldsSearch.entity().getBroadcastUri(), Op.EQ);
         AllFieldsSearch.and("vpcId", AllFieldsSearch.entity().getVpcId(), 
Op.EQ);
+        SearchBuilder<NetworkOfferingVO> join1 = 
_ntwkOffDao.createSearchBuilder();
+        join1.and("isSystem", join1.entity().isSystemOnly(), Op.EQ);
+        AllFieldsSearch.join("offerings", join1, 
AllFieldsSearch.entity().getNetworkOfferingId(), join1.entity().getId(), 
JoinBuilder.JoinType.INNER);
         AllFieldsSearch.done();
 
         AccountSearch = createSearchBuilder();
@@ -139,12 +142,11 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
 
         CountByZoneAndURI.done();
         
-
         ZoneSecurityGroupSearch = createSearchBuilder();
         ZoneSecurityGroupSearch.and("dataCenterId", 
ZoneSecurityGroupSearch.entity().getDataCenterId(), Op.EQ);
-        SearchBuilder<NetworkServiceMapVO> join1 = 
_ntwkSvcMap.createSearchBuilder();
-        join1.and("service", join1.entity().getService(), Op.EQ);
-        ZoneSecurityGroupSearch.join("services", join1, 
ZoneSecurityGroupSearch.entity().getId(), join1.entity().getNetworkId(), 
JoinBuilder.JoinType.INNER);
+        SearchBuilder<NetworkServiceMapVO> offJoin = 
_ntwkSvcMap.createSearchBuilder();
+        offJoin.and("service", offJoin.entity().getService(), Op.EQ);
+        ZoneSecurityGroupSearch.join("services", offJoin, 
ZoneSecurityGroupSearch.entity().getId(), offJoin.entity().getNetworkId(), 
JoinBuilder.JoinType.INNER);
         ZoneSecurityGroupSearch.done();
 
         CountBy = createSearchBuilder(Integer.class);
@@ -195,13 +197,18 @@ public class NetworkDaoImpl extends 
GenericDaoBase<NetworkVO, Long> implements N
     }
 
     @Override
-    public List<NetworkVO> listBy(long accountId, long dataCenterId, 
Network.GuestType type) {
+    public List<NetworkVO> listByZoneAndGuestType(long accountId, long 
dataCenterId, Network.GuestType type, Boolean isSystem) {
         SearchCriteria<NetworkVO> sc = AllFieldsSearch.create();
         sc.setParameters("datacenter", dataCenterId);
         sc.setParameters("account", accountId);
         if (type != null) {
             sc.setParameters("guestType", type);
         }
+        
+        if (isSystem != null) {
+            sc.setJoinParameters("offerings", "isSystem", isSystem);
+        }
+        
         return listBy(sc, null);
     }
 

Reply via email to