You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2015/01/18 12:42:08 UTC
git commit: updated refs/heads/4.5 to 065c556
Repository: cloudstack
Updated Branches:
refs/heads/4.5 2c515395d -> 065c556cf
CLOUDSTACK-8166: add boundary checks in various usage parsers
- Add boundary condition to continue looping if creation data is after end date
- Add null pointer fix for create snapshot bug
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/065c556c
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/065c556c
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/065c556c
Branch: refs/heads/4.5
Commit: 065c556cf5fe92dc6a4063538280e728c2719e51
Parents: 2c51539
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Sun Jan 18 17:06:39 2015 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Sun Jan 18 17:11:07 2015 +0530
----------------------------------------------------------------------
usage/src/com/cloud/usage/UsageManagerImpl.java | 2 +-
usage/src/com/cloud/usage/parser/IPAddressUsageParser.java | 5 +++++
usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java | 4 ++++
.../src/com/cloud/usage/parser/NetworkOfferingUsageParser.java | 4 ++++
usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java | 4 ++++
usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java | 4 ++++
usage/src/com/cloud/usage/parser/StorageUsageParser.java | 4 ++++
usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java | 4 ++++
usage/src/com/cloud/usage/parser/VPNUserUsageParser.java | 4 ++++
usage/src/com/cloud/usage/parser/VolumeUsageParser.java | 4 ++++
10 files changed, 38 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065c556c/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 8429c60..8f13aa2 100644
--- a/usage/src/com/cloud/usage/UsageManagerImpl.java
+++ b/usage/src/com/cloud/usage/UsageManagerImpl.java
@@ -1726,7 +1726,7 @@ public class UsageManagerImpl extends ManagerBase implements UsageManager, Runna
Long offeringId = event.getOfferingId();
Long zoneId = event.getZoneId();
Long accountId = event.getAccountId();
- long size = event.getSize();
+ long size = event.getSize() == null ? 0L : event.getSize().longValue();
Date created = event.getCreateDate();
Account acct = _accountDao.findByIdIncludingRemoved(event.getAccountId());
Long domainId = acct.getDomainId();
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065c556c/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java b/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java
index adeff01..6bd35d3 100644
--- a/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java
@@ -101,6 +101,11 @@ public class IPAddressUsageParser {
IpAssignDate = startDate;
}
+ // ignore if assign date is after end date
+ if (IpAssignDate.after(endDate)) {
+ continue;
+ }
+
long currentDuration = (IpReleaseDeleteDate.getTime() - IpAssignDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
updateIpUsageData(usageMap, key, usageIp.getId(), currentDuration);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065c556c/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java b/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java
index 1b813b7..fd51bf1 100644
--- a/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java
@@ -98,6 +98,10 @@ public class LoadBalancerUsageParser {
lbCreateDate = startDate;
}
+ if (lbCreateDate.after(endDate)) {
+ continue;
+ }
+
long currentDuration = (lbDeleteDate.getTime() - lbCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
updateLBUsageData(usageMap, key, usageLB.getId(), currentDuration);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065c556c/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java b/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java
index 4a5a1d2..d541dda 100644
--- a/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java
@@ -99,6 +99,10 @@ public class NetworkOfferingUsageParser {
noCreateDate = startDate;
}
+ if (noCreateDate.after(endDate)) {
+ continue;
+ }
+
long currentDuration = (noDeleteDate.getTime() - noCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
updateNOUsageData(usageMap, key, usageNO.getVmInstanceId(), currentDuration);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065c556c/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java b/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java
index 37c7751..f58ca0c 100644
--- a/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java
@@ -98,6 +98,10 @@ public class PortForwardingUsageParser {
pfCreateDate = startDate;
}
+ if (pfCreateDate.after(endDate)) {
+ continue;
+ }
+
long currentDuration = (pfDeleteDate.getTime() - pfCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
updatePFUsageData(usageMap, key, usagePF.getId(), currentDuration);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065c556c/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java b/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java
index ea86d49..4fce2f2 100644
--- a/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java
@@ -99,6 +99,10 @@ public class SecurityGroupUsageParser {
sgCreateDate = startDate;
}
+ if (sgCreateDate.after(endDate)) {
+ continue;
+ }
+
long currentDuration = (sgDeleteDate.getTime() - sgCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
updateSGUsageData(usageMap, key, usageSG.getVmInstanceId(), currentDuration);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065c556c/usage/src/com/cloud/usage/parser/StorageUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/StorageUsageParser.java b/usage/src/com/cloud/usage/parser/StorageUsageParser.java
index f1091a1..6745afe 100644
--- a/usage/src/com/cloud/usage/parser/StorageUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/StorageUsageParser.java
@@ -107,6 +107,10 @@ public class StorageUsageParser {
storageCreateDate = startDate;
}
+ if (storageCreateDate.after(endDate)) {
+ continue;
+ }
+
long currentDuration = (storageDeleteDate.getTime() - storageCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
updateStorageUsageData(usageMap, key, usageStorage.getId(), currentDuration);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065c556c/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java b/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java
index 684412f..7711bbb 100644
--- a/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java
@@ -104,6 +104,10 @@ public class VMInstanceUsageParser {
vmStartDate = startDate;
}
+ if (vmStartDate.after(endDate)) {
+ continue;
+ }
+
long currentDuration = (vmEndDate.getTime() - vmStartDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
switch (usageType) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065c556c/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java b/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java
index 619c861..c8ad327 100644
--- a/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java
@@ -94,6 +94,10 @@ public class VPNUserUsageParser {
vuCreateDate = startDate;
}
+ if (vuCreateDate.after(endDate)) {
+ continue;
+ }
+
long currentDuration = (vuDeleteDate.getTime() - vuCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
updateVUUsageData(usageMap, key, usageVU.getUserId(), currentDuration);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/065c556c/usage/src/com/cloud/usage/parser/VolumeUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/VolumeUsageParser.java b/usage/src/com/cloud/usage/parser/VolumeUsageParser.java
index 81ebdc0..876cfc7 100644
--- a/usage/src/com/cloud/usage/parser/VolumeUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/VolumeUsageParser.java
@@ -103,6 +103,10 @@ public class VolumeUsageParser {
volCreateDate = startDate;
}
+ if (volCreateDate.after(endDate)) {
+ continue;
+ }
+
long currentDuration = (volDeleteDate.getTime() - volCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
updateVolUsageData(usageMap, key, usageVol.getId(), currentDuration);