Updated Branches:
  refs/heads/master c762830fb -> a9fab0526

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

Conflicts:

        server/src/com/cloud/network/NetworkManagerImpl.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/a9fab052
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/a9fab052
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/a9fab052

Branch: refs/heads/master
Commit: a9fab0526b466fffa398c522e876a558554e793e
Parents: c762830
Author: Alena Prokharchyk <[email protected]>
Authored: Tue Oct 16 16:09:49 2012 -0700
Committer: Alena Prokharchyk <[email protected]>
Committed: Tue Oct 16 16:18:36 2012 -0700

----------------------------------------------------------------------
 .../src/com/cloud/network/NetworkManagerImpl.java  |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a9fab052/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 cf5b6e3..2eff189 100755
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@ -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

Reply via email to