You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ki...@apache.org on 2014/05/30 11:43:19 UTC

[4/4] git commit: updated refs/heads/master to bdde533

FIXED CLOUDSTACK-6669 Support volume resize in usage server


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

Branch: refs/heads/master
Commit: bdde5335f9988e460a667da97ebe0cde2e74e7a1
Parents: dbd05e3
Author: Rajani Karuturi <ra...@gmail.com>
Authored: Fri May 30 11:47:56 2014 +0530
Committer: Kishan Kavala <ki...@cloud.com>
Committed: Fri May 30 15:03:02 2014 +0530

----------------------------------------------------------------------
 usage/src/com/cloud/usage/UsageManagerImpl.java | 21 +++++---------------
 1 file changed, 5 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bdde5335/usage/src/com/cloud/usage/UsageManagerImpl.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/UsageManagerImpl.java b/usage/src/com/cloud/usage/UsageManagerImpl.java
index 4ceecbb..159380b 100644
--- a/usage/src/com/cloud/usage/UsageManagerImpl.java
+++ b/usage/src/com/cloud/usage/UsageManagerImpl.java
@@ -961,9 +961,8 @@ public class UsageManagerImpl extends ManagerBase implements UsageManager, Runna
     }
 
     private boolean isVolumeEvent(String eventType) {
-        if (eventType == null)
-            return false;
-        return (eventType.equals(EventTypes.EVENT_VOLUME_CREATE) || eventType.equals(EventTypes.EVENT_VOLUME_DELETE));
+        return eventType != null &&
+            (eventType.equals(EventTypes.EVENT_VOLUME_CREATE) || eventType.equals(EventTypes.EVENT_VOLUME_DELETE) || eventType.equals(EventTypes.EVENT_VOLUME_RESIZE));
     }
 
     private boolean isTemplateEvent(String eventType) {
@@ -1366,20 +1365,9 @@ public class UsageManagerImpl extends ManagerBase implements UsageManager, Runna
 
     private void createVolumeHelperEvent(UsageEventVO event) {
 
-        Long doId = -1L;
-        long zoneId = -1L;
-        Long templateId = -1L;
-        long size = -1L;
-
         long volId = event.getResourceId();
-        if (EventTypes.EVENT_VOLUME_CREATE.equals(event.getType())) {
-            doId = event.getOfferingId();
-            zoneId = event.getZoneId();
-            templateId = event.getTemplateId();
-            size = event.getSize();
-        }
 
-        if (EventTypes.EVENT_VOLUME_CREATE.equals(event.getType())) {
+        if (EventTypes.EVENT_VOLUME_CREATE.equals(event.getType()) || EventTypes.EVENT_VOLUME_RESIZE.equals(event.getType())) {
             SearchCriteria<UsageVolumeVO> sc = _usageVolumeDao.createSearchCriteria();
             sc.addAnd("accountId", SearchCriteria.Op.EQ, event.getAccountId());
             sc.addAnd("id", SearchCriteria.Op.EQ, volId);
@@ -1389,6 +1377,7 @@ public class UsageManagerImpl extends ManagerBase implements UsageManager, Runna
                 //This is a safeguard to avoid double counting of volumes.
                 s_logger.error("Found duplicate usage entry for volume: " + volId + " assigned to account: " + event.getAccountId() + "; marking as deleted...");
             }
+            //an entry exists if it is a resize volume event. marking the existing deleted and creating a new one in the case of resize.
             for (UsageVolumeVO volumesVO : volumesVOs) {
                 if (s_logger.isDebugEnabled()) {
                     s_logger.debug("deleting volume: " + volumesVO.getId() + " from account: " + volumesVO.getAccountId());
@@ -1400,7 +1389,7 @@ public class UsageManagerImpl extends ManagerBase implements UsageManager, Runna
                 s_logger.debug("create volume with id : " + volId + " for account: " + event.getAccountId());
             }
             Account acct = _accountDao.findByIdIncludingRemoved(event.getAccountId());
-            UsageVolumeVO volumeVO = new UsageVolumeVO(volId, zoneId, event.getAccountId(), acct.getDomainId(), doId, templateId, size, event.getCreateDate(), null);
+            UsageVolumeVO volumeVO = new UsageVolumeVO(volId, event.getZoneId(), event.getAccountId(), acct.getDomainId(), event.getOfferingId(), event.getTemplateId(), event.getSize(), event.getCreateDate(), null);
             _usageVolumeDao.persist(volumeVO);
         } else if (EventTypes.EVENT_VOLUME_DELETE.equals(event.getType())) {
             SearchCriteria<UsageVolumeVO> sc = _usageVolumeDao.createSearchCriteria();