Repository: cloudstack
Updated Branches:
  refs/heads/master e6f8833b9 -> 0c9c5a71b


CLOUDSTACK-4364: Restore VM - log a usage event for newly created volume


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

Branch: refs/heads/master
Commit: 0c9c5a71b4bcddf89381d6d3f66c5b83905c94d9
Parents: e6f8833
Author: Nitin Mehta <nitin.me...@citrix.com>
Authored: Mon Jun 30 14:36:57 2014 -0700
Committer: Nitin Mehta <nitin.me...@citrix.com>
Committed: Mon Jun 30 14:41:37 2014 -0700

----------------------------------------------------------------------
 server/src/com/cloud/vm/UserVmManagerImpl.java  | 5 ++++-
 server/test/com/cloud/vm/UserVmManagerTest.java | 4 ++++
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0c9c5a71/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 25c3eeb..3df05e0 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -4683,10 +4683,13 @@ public class UserVmManagerImpl extends ManagerBase 
implements UserVmManager, Vir
         } else {
             newVol = volumeMgr.allocateDuplicateVolume(root, null);
         }
-        // Save usage event and update resource count for user vm volumes
+        // 1. Save usage event and update resource count for user vm volumes
         if (vm instanceof UserVm) {
             _resourceLimitMgr.incrementResourceCount(vm.getAccountId(), 
ResourceType.volume);
         }
+        //2. 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);
 
         handleManagedStorage(vm, root);
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0c9c5a71/server/test/com/cloud/vm/UserVmManagerTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vm/UserVmManagerTest.java 
b/server/test/com/cloud/vm/UserVmManagerTest.java
index a69f270..3188d04 100755
--- a/server/test/com/cloud/vm/UserVmManagerTest.java
+++ b/server/test/com/cloud/vm/UserVmManagerTest.java
@@ -36,6 +36,7 @@ import java.util.List;
 import java.util.UUID;
 
 import com.cloud.storage.Storage;
+import com.cloud.event.dao.UsageEventDao;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mock;
@@ -146,6 +147,8 @@ public class UserVmManagerTest {
     ResourceLimitService _resourceLimitMgr;
     @Mock
     PrimaryDataStoreDao _storagePoolDao;
+    @Mock
+    UsageEventDao _usageEventDao;
 
     @Before
     public void setup() {
@@ -155,6 +158,7 @@ public class UserVmManagerTest {
         _userVmMgr._vmInstanceDao = _vmInstanceDao;
         _userVmMgr._templateDao = _templateDao;
         _userVmMgr._volsDao = _volsDao;
+        _userVmMgr._usageEventDao = _usageEventDao;
         _userVmMgr._itMgr = _itMgr;
         _userVmMgr.volumeMgr = _storageMgr;
         _userVmMgr._accountDao = _accountDao;

Reply via email to