Repository: cloudstack
Updated Branches:
  refs/heads/master 8a2163305 -> 835ca8eea


CLOUDSTACK-7018: Restore VM - missing destroyed usage event for the destroyed 
root volume. Also removed the resource count logic since we destroy the old 
root volume and create a new one.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/835ca8ee
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/835ca8ee
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/835ca8ee

Branch: refs/heads/master
Commit: 835ca8eea86044cf66ad1d02e473257546664359
Parents: 8a21633
Author: Nitin Mehta <nitin.me...@citrix.com>
Authored: Mon Aug 4 16:40:28 2014 -0700
Committer: Nitin Mehta <nitin.me...@citrix.com>
Committed: Mon Aug 4 16:40:28 2014 -0700

----------------------------------------------------------------------
 server/src/com/cloud/vm/UserVmManagerImpl.java | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/835ca8ee/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java 
b/server/src/com/cloud/vm/UserVmManagerImpl.java
index a9f8efd..05cc183 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -4732,9 +4732,8 @@ public class UserVmManagerImpl extends ManagerBase 
implements UserVmManager, Vir
         } else {
             newVol = volumeMgr.allocateDuplicateVolume(root, null);
         }
-        // 1. Save usage event and update resource count for user vm volumes
-        _resourceLimitMgr.incrementResourceCount(vm.getAccountId(), 
ResourceType.volume);
-        //2. Create Usage event for the newly created volume
+
+        // Create Usage event for the newly created volume
         UsageEventVO usageEvent = new 
UsageEventVO(EventTypes.EVENT_VOLUME_CREATE, newVol.getAccountId(), 
newVol.getDataCenterId(), newVol.getId(), newVol.getName(), 
newVol.getDiskOfferingId(), templateId, newVol.getSize());
         _usageEventDao.persist(usageEvent);
 
@@ -4742,11 +4741,11 @@ public class UserVmManagerImpl extends ManagerBase 
implements UserVmManager, Vir
 
         _volsDao.attachVolume(newVol.getId(), vmId, newVol.getDeviceId());
 
-        /* Detach and destory the old root volume */
-
+        // Detach, destroy and create the usage event for the old root volume.
         _volsDao.detachVolume(root.getId());
-
         volumeMgr.destroyVolume(root);
+        UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_DELETE, 
root.getAccountId(), root.getDataCenterId(), root.getId(), root.getName(),
+                Volume.class.getName(), root.getUuid(), 
root.isDisplayVolume());
 
         // For VMware hypervisor since the old root volume is replaced by the 
new root volume, force expunge old root volume if it has been created in storage
         if (vm.getHypervisorType() == HypervisorType.VMware) {

Reply via email to