CLOUDSTACK-348: decrement resource count when the network gets removed

Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
This commit is contained in:
Alena Prokharchyk 2012-10-16 16:09:49 -07:00
parent c762830fbc
commit a9fab0526b
1 changed files with 13 additions and 2 deletions

View File

@ -2726,8 +2726,8 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
s_logger.warn("Only guest networks can be created using this method");
return null;
}
boolean updateResourceCount = (!ntwkOff.getSpecifyVlan() && aclType == ACLType.Account);
boolean updateResourceCount = resourceCountNeedsUpdate(ntwkOff, aclType);
//check resource limits
if (updateResourceCount) {
_resourceLimitMgr.checkResourceLimit(owner, ResourceType.network);
@ -3587,6 +3587,12 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
network.setState(Network.State.Destroy);
_networksDao.update(network.getId(), network);
_networksDao.remove(network.getId());
NetworkOffering ntwkOff = _configMgr.getNetworkOffering(network.getNetworkOfferingId());
boolean updateResourceCount = resourceCountNeedsUpdate(ntwkOff, network.getAclType());
if (updateResourceCount) {
_resourceLimitMgr.decrementResourceCount(owner.getId(), ResourceType.network);
}
txn.commit();
}
}
@ -3594,6 +3600,11 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
return success;
}
private boolean resourceCountNeedsUpdate(NetworkOffering ntwkOff, ACLType aclType) {
boolean updateResourceCount = (!ntwkOff.getSpecifyVlan() && aclType == ACLType.Account);
return updateResourceCount;
}
protected boolean deleteVlansInNetwork(long networkId, long userId, Account callerAccount) {
//cleanup Public vlans