mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
VPC: mark gateway with Deleting state when all static routes are gone
This commit is contained in:
parent
5923659dba
commit
eb52f4a610
@ -1170,7 +1170,6 @@ public class VpcManagerImpl implements VpcManager, Manager{
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
gatewayVO.setState(VpcGateway.State.Deleting);
|
|
||||||
_vpcGatewayDao.update(gatewayVO.getId(), gatewayVO);
|
_vpcGatewayDao.update(gatewayVO.getId(), gatewayVO);
|
||||||
s_logger.debug("Marked gateway " + gatewayVO + " with state " + VpcGateway.State.Deleting);
|
s_logger.debug("Marked gateway " + gatewayVO + " with state " + VpcGateway.State.Deleting);
|
||||||
//don't allow to remove gateway when there are static routes associated with it
|
//don't allow to remove gateway when there are static routes associated with it
|
||||||
@ -1179,7 +1178,9 @@ public class VpcManagerImpl implements VpcManager, Manager{
|
|||||||
throw new CloudRuntimeException("Can't delete private gateway " + gatewayVO + " as it has " + routeCount +
|
throw new CloudRuntimeException("Can't delete private gateway " + gatewayVO + " as it has " + routeCount +
|
||||||
" static routes applied. Remove the routes first");
|
" static routes applied. Remove the routes first");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gatewayVO.setState(VpcGateway.State.Deleting);
|
||||||
|
|
||||||
//1) delete the gateway on the backend
|
//1) delete the gateway on the backend
|
||||||
PrivateGateway gateway = getVpcPrivateGateway(gatewayId);
|
PrivateGateway gateway = getVpcPrivateGateway(gatewayId);
|
||||||
if (getVpcElement().deletePrivateGateway(gateway)) {
|
if (getVpcElement().deletePrivateGateway(gateway)) {
|
||||||
@ -1373,12 +1374,6 @@ public class VpcManagerImpl implements VpcManager, Manager{
|
|||||||
throw new InvalidParameterValueException("Unable to find static route by id");
|
throw new InvalidParameterValueException("Unable to find static route by id");
|
||||||
}
|
}
|
||||||
|
|
||||||
VpcGateway gateway = _vpcGatewayDao.findById(route.getVpcGatewayId());
|
|
||||||
|
|
||||||
if (gateway.getState() != VpcGateway.State.Ready) {
|
|
||||||
throw new InvalidParameterValueException("Gateway is not in the " + VpcGateway.State.Ready + " state: " + gateway.getState());
|
|
||||||
}
|
|
||||||
|
|
||||||
_accountMgr.checkAccess(caller, null, false, route);
|
_accountMgr.checkAccess(caller, null, false, route);
|
||||||
|
|
||||||
markStaticRouteForRevoke(route, caller);
|
markStaticRouteForRevoke(route, caller);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user