You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by pr...@apache.org on 2013/05/16 20:22:16 UTC
[51/68] [abbrv] git commit: updated refs/heads/planner_reserve to
ed8ff40
CLOUDSTACK-2369 fixed adding same private gw twice
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9b651346
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9b651346
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9b651346
Branch: refs/heads/planner_reserve
Commit: 9b6513466f5826d4932bf69dcf3a531f05ac625c
Parents: 7370638
Author: Jayapal <ja...@citrix.com>
Authored: Wed May 15 15:40:23 2013 +0530
Committer: Kishan Kavala <ki...@cloud.com>
Committed: Wed May 15 16:45:52 2013 +0530
----------------------------------------------------------------------
.../com/cloud/network/vpc/dao/PrivateIpDao.java | 3 ++-
.../cloud/network/vpc/dao/PrivateIpDaoImpl.java | 11 ++++++++++-
.../src/com/cloud/network/NetworkServiceImpl.java | 4 +++-
3 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b651346/engine/schema/src/com/cloud/network/vpc/dao/PrivateIpDao.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/vpc/dao/PrivateIpDao.java b/engine/schema/src/com/cloud/network/vpc/dao/PrivateIpDao.java
index 02df92e..ff8c26a 100644
--- a/engine/schema/src/com/cloud/network/vpc/dao/PrivateIpDao.java
+++ b/engine/schema/src/com/cloud/network/vpc/dao/PrivateIpDao.java
@@ -70,6 +70,7 @@ public interface PrivateIpDao extends GenericDao<PrivateIpVO, Long>{
*/
PrivateIpVO findByIpAndVpcId(long vpcId, String ip4Address);
-
+
+ PrivateIpVO findByIpAndSourceNetworkIdAndVpcId(long networkId, String ip4Address, long vpcId);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b651346/engine/schema/src/com/cloud/network/vpc/dao/PrivateIpDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/vpc/dao/PrivateIpDaoImpl.java b/engine/schema/src/com/cloud/network/vpc/dao/PrivateIpDaoImpl.java
index ecab3bb..fe435c0 100644
--- a/engine/schema/src/com/cloud/network/vpc/dao/PrivateIpDaoImpl.java
+++ b/engine/schema/src/com/cloud/network/vpc/dao/PrivateIpDaoImpl.java
@@ -114,7 +114,16 @@ public class PrivateIpDaoImpl extends GenericDaoBase<PrivateIpVO, Long> implemen
sc.setParameters("networkId", networkId);
return findOneBy(sc);
}
-
+
+ @Override
+ public PrivateIpVO findByIpAndSourceNetworkIdAndVpcId(long networkId, String ip4Address, long vpcId) {
+ SearchCriteria<PrivateIpVO> sc = AllFieldsSearch.create();
+ sc.setParameters("ip", ip4Address);
+ sc.setParameters("networkId", networkId);
+ sc.setParameters("vpcId", vpcId);
+ return findOneBy(sc);
+ }
+
@Override
public PrivateIpVO findByIpAndVpcId(long vpcId, String ip4Address) {
SearchCriteria<PrivateIpVO> sc = AllFieldsSearch.create();
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b651346/server/src/com/cloud/network/NetworkServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java
index f3ec253..d3ef320 100755
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@ -3813,10 +3813,12 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService {
s_logger.debug("Created private network " + privateNetwork);
} else {
s_logger.debug("Private network already exists: " + privateNetwork);
+ throw new InvalidParameterValueException("Private network for the vlan: " + vlan + " and cidr "+ cidr +" already exists " +
+ " in zone " + _configMgr.getZone(pNtwk.getDataCenterId()).getName());
}
//add entry to private_ip_address table
- PrivateIpVO privateIp = _privateIpDao.findByIpAndSourceNetworkId(privateNetwork.getId(), startIp);
+ PrivateIpVO privateIp = _privateIpDao.findByIpAndSourceNetworkIdAndVpcId(privateNetwork.getId(), startIp, vpcId);
if (privateIp != null) {
throw new InvalidParameterValueException("Private ip address " + startIp + " already used for private gateway" +
" in zone " + _configMgr.getZone(pNtwk.getDataCenterId()).getName());