You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ki...@apache.org on 2013/07/09 14:03:45 UTC
[1/2] git commit: updated refs/heads/4.2 to d4ed20b
Updated Branches:
refs/heads/4.2 15ccce436 -> d4ed20b0d
refs/heads/master 58d648345 -> acb4a1963
CLOUDSTACK-2429: Multiple private gateways are allowed within a VPC. Check for conflicting routes in all gateways when adding a new static route
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/d4ed20b0
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/d4ed20b0
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/d4ed20b0
Branch: refs/heads/4.2
Commit: d4ed20b0d34d8d294d8a9a7458bb68baa93283b7
Parents: 15ccce4
Author: Kishan Kavala <ki...@cloud.com>
Authored: Tue Jul 9 17:17:31 2013 +0530
Committer: Kishan Kavala <ki...@cloud.com>
Committed: Tue Jul 9 17:18:23 2013 +0530
----------------------------------------------------------------------
.../schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java | 2 +-
.../src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java | 6 +++---
server/src/com/cloud/network/vpc/VpcManagerImpl.java | 4 +++-
3 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d4ed20b0/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java b/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java
index a8fbc09..041e8b8 100644
--- a/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java
+++ b/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java
@@ -26,7 +26,7 @@ public interface StaticRouteDao extends GenericDao<StaticRouteVO, Long>{
boolean setStateToAdd(StaticRouteVO rule);
- List<? extends StaticRoute> listByGatewayIdAndNotRevoked(long gatewayId);
+ List<? extends StaticRoute> listByVpcIdAndNotRevoked(long vpcId);
List<StaticRouteVO> listByVpcId(long vpcId);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d4ed20b0/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java b/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
index fac35a9..518237d 100644
--- a/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
+++ b/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
@@ -58,7 +58,7 @@ public class StaticRouteDaoImpl extends GenericDaoBase<StaticRouteVO, Long> impl
AllFieldsSearch.done();
NotRevokedSearch = createSearchBuilder();
- NotRevokedSearch.and("gatewayId", NotRevokedSearch.entity().getVpcGatewayId(), Op.EQ);
+ NotRevokedSearch.and("vpcId", NotRevokedSearch.entity().getVpcId(), Op.EQ);
NotRevokedSearch.and("state", NotRevokedSearch.entity().getState(), Op.NEQ);
NotRevokedSearch.done();
@@ -82,9 +82,9 @@ public class StaticRouteDaoImpl extends GenericDaoBase<StaticRouteVO, Long> impl
@Override
- public List<? extends StaticRoute> listByGatewayIdAndNotRevoked(long gatewayId) {
+ public List<? extends StaticRoute> listByVpcIdAndNotRevoked(long vpcId) {
SearchCriteria<StaticRouteVO> sc = NotRevokedSearch.create();
- sc.setParameters("gatewayId", gatewayId);
+ sc.setParameters("vpcId", vpcId);
sc.setParameters("state", StaticRoute.State.Revoke);
return listBy(sc);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d4ed20b0/server/src/com/cloud/network/vpc/VpcManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
index b2cb333..2555ef6 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -1858,7 +1858,9 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis
}
protected void detectRoutesConflict(StaticRoute newRoute) throws NetworkRuleConflictException {
- List<? extends StaticRoute> routes = _staticRouteDao.listByGatewayIdAndNotRevoked(newRoute.getVpcGatewayId());
+ //Multiple private gateways can exist within Vpc. Check for conflicts for all static routes in Vpc
+ //and not just the gateway
+ List<? extends StaticRoute> routes = _staticRouteDao.listByVpcIdAndNotRevoked(newRoute.getVpcId());
assert (routes.size() >= 1) : "For static routes, we now always first persist the route and then check for " +
"network conflicts so we should at least have one rule at this point.";
[2/2] git commit: updated refs/heads/master to acb4a19
Posted by ki...@apache.org.
CLOUDSTACK-2429: Multiple private gateways are allowed within a VPC. Check for conflicting routes in all gateways when adding a new static route
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/acb4a196
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/acb4a196
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/acb4a196
Branch: refs/heads/master
Commit: acb4a19633b1a0d8f2ba81622ab6f5be6361fbd3
Parents: 58d6483
Author: Kishan Kavala <ki...@cloud.com>
Authored: Tue Jul 9 17:17:31 2013 +0530
Committer: Kishan Kavala <ki...@cloud.com>
Committed: Tue Jul 9 17:27:06 2013 +0530
----------------------------------------------------------------------
.../schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java | 2 +-
.../src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java | 6 +++---
server/src/com/cloud/network/vpc/VpcManagerImpl.java | 4 +++-
3 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/acb4a196/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java b/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java
index a8fbc09..041e8b8 100644
--- a/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java
+++ b/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDao.java
@@ -26,7 +26,7 @@ public interface StaticRouteDao extends GenericDao<StaticRouteVO, Long>{
boolean setStateToAdd(StaticRouteVO rule);
- List<? extends StaticRoute> listByGatewayIdAndNotRevoked(long gatewayId);
+ List<? extends StaticRoute> listByVpcIdAndNotRevoked(long vpcId);
List<StaticRouteVO> listByVpcId(long vpcId);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/acb4a196/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java b/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
index fac35a9..518237d 100644
--- a/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
+++ b/engine/schema/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
@@ -58,7 +58,7 @@ public class StaticRouteDaoImpl extends GenericDaoBase<StaticRouteVO, Long> impl
AllFieldsSearch.done();
NotRevokedSearch = createSearchBuilder();
- NotRevokedSearch.and("gatewayId", NotRevokedSearch.entity().getVpcGatewayId(), Op.EQ);
+ NotRevokedSearch.and("vpcId", NotRevokedSearch.entity().getVpcId(), Op.EQ);
NotRevokedSearch.and("state", NotRevokedSearch.entity().getState(), Op.NEQ);
NotRevokedSearch.done();
@@ -82,9 +82,9 @@ public class StaticRouteDaoImpl extends GenericDaoBase<StaticRouteVO, Long> impl
@Override
- public List<? extends StaticRoute> listByGatewayIdAndNotRevoked(long gatewayId) {
+ public List<? extends StaticRoute> listByVpcIdAndNotRevoked(long vpcId) {
SearchCriteria<StaticRouteVO> sc = NotRevokedSearch.create();
- sc.setParameters("gatewayId", gatewayId);
+ sc.setParameters("vpcId", vpcId);
sc.setParameters("state", StaticRoute.State.Revoke);
return listBy(sc);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/acb4a196/server/src/com/cloud/network/vpc/VpcManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
index b2cb333..2555ef6 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -1858,7 +1858,9 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis
}
protected void detectRoutesConflict(StaticRoute newRoute) throws NetworkRuleConflictException {
- List<? extends StaticRoute> routes = _staticRouteDao.listByGatewayIdAndNotRevoked(newRoute.getVpcGatewayId());
+ //Multiple private gateways can exist within Vpc. Check for conflicts for all static routes in Vpc
+ //and not just the gateway
+ List<? extends StaticRoute> routes = _staticRouteDao.listByVpcIdAndNotRevoked(newRoute.getVpcId());
assert (routes.size() >= 1) : "For static routes, we now always first persist the route and then check for " +
"network conflicts so we should at least have one rule at this point.";