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:45:29 UTC
git commit: updated refs/heads/4.3 to fc5d8e9
Repository: cloudstack
Updated Branches:
refs/heads/4.3 87d444b05 -> fc5d8e95b
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>
(cherry picked from commit 065c556cf5fe92dc6a4063538280e728c2719e51)
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/fc5d8e95
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/fc5d8e95
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/fc5d8e95
Branch: refs/heads/4.3
Commit: fc5d8e95bf155c21f0c1066e0181dcf03267027b
Parents: 87d444b
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:15:14 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/fc5d8e95/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 117d00f..9840067 100644
--- a/usage/src/com/cloud/usage/UsageManagerImpl.java
+++ b/usage/src/com/cloud/usage/UsageManagerImpl.java
@@ -1671,7 +1671,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 = m_accountDao.findByIdIncludingRemoved(event.getAccountId());
Long domainId = acct.getDomainId();
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/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 0889203..33e3495 100644
--- a/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java
@@ -100,6 +100,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/fc5d8e95/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 84d0b32..0a59fae 100644
--- a/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java
@@ -96,6 +96,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)
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/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 21ad193..ada27bc 100644
--- a/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java
@@ -97,6 +97,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)
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/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 1f74bcf..bbcc223 100644
--- a/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java
@@ -96,6 +96,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)
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/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 25de883..02e5e2b 100644
--- a/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java
@@ -97,6 +97,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)
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/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 56c26e8..fb3762c 100644
--- a/usage/src/com/cloud/usage/parser/StorageUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/StorageUsageParser.java
@@ -105,6 +105,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/fc5d8e95/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 2072220..2565674 100644
--- a/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java
@@ -99,6 +99,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/fc5d8e95/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 7afc97c..ed846dc 100644
--- a/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java
@@ -92,6 +92,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)
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/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 b6a12de..a487231 100644
--- a/usage/src/com/cloud/usage/parser/VolumeUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/VolumeUsageParser.java
@@ -101,6 +101,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)