This is an automated email from the ASF dual-hosted git repository.
sureshanaparti pushed a commit to branch 4.16
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.16 by this push:
new 1fc7d70 Add idempotent primary keys on tables missing them (#5785)
1fc7d70 is described below
commit 1fc7d70da288b15f5482e715632fde0d35760026
Author: Nicolas Vazquez <[email protected]>
AuthorDate: Sun Jan 30 15:01:07 2022 -0300
Add idempotent primary keys on tables missing them (#5785)
* In progress primary keys
* Refactor in progress to idempotent way
* Finish SQL changes
* Add java code to match new columns
* Fix imports
* Fix tests
* Remove comments
* Fix index name on vmsnapshot
* Fix parse from correct column on usage storage
* Fix parser columns
* Fix NPE
* Fix NPE for the rest of the occurrences
* Further fix for similar issue
---
.../java/com/cloud/usage/UsageIPAddressVO.java | 19 +++-
.../com/cloud/usage/UsageLoadBalancerPolicyVO.java | 18 +++-
.../com/cloud/usage/UsageNetworkOfferingVO.java | 17 +++-
.../com/cloud/usage/UsagePortForwardingRuleVO.java | 18 +++-
.../java/com/cloud/usage/UsageSecurityGroupVO.java | 17 +++-
.../com/cloud/usage/UsageSnapshotOnPrimaryVO.java | 16 ++-
.../main/java/com/cloud/usage/UsageStorageVO.java | 20 +++-
.../java/com/cloud/usage/UsageVMInstanceVO.java | 17 +++-
.../java/com/cloud/usage/UsageVMSnapshotVO.java | 17 +++-
.../main/java/com/cloud/usage/UsageVPNUserVO.java | 17 +++-
.../main/java/com/cloud/usage/UsageVolumeVO.java | 18 +++-
.../com/cloud/usage/dao/UsageIPAddressDaoImpl.java | 6 +-
.../usage/dao/UsageLoadBalancerPolicyDaoImpl.java | 12 +--
.../usage/dao/UsagePortForwardingRuleDaoImpl.java | 12 +--
.../com/cloud/usage/dao/UsageStorageDaoImpl.java | 16 +--
.../cloud/usage/dao/UsageVMSnapshotDaoImpl.java | 12 +--
.../usage/dao/UsageVMSnapshotOnPrimaryDaoImpl.java | 6 +-
.../com/cloud/usage/dao/UsageVolumeDaoImpl.java | 12 +--
.../main/java/com/cloud/user/UserStatsLogVO.java | 15 ++-
.../resources/META-INF/db/schema-41600to41610.sql | 107 +++++++++++++++++++++
.../cloud/usage/dao/UsageStorageDaoImplTest.java | 4 +-
.../cloud/usage/parser/IPAddressUsageParser.java | 4 +-
.../usage/parser/LoadBalancerUsageParser.java | 4 +-
.../usage/parser/PortForwardingUsageParser.java | 4 +-
.../com/cloud/usage/parser/StorageUsageParser.java | 4 +-
.../usage/parser/VMSnapshotOnPrimaryParser.java | 2 +-
.../cloud/usage/parser/VMSnapshotUsageParser.java | 4 +-
.../com/cloud/usage/parser/VolumeUsageParser.java | 4 +-
28 files changed, 342 insertions(+), 80 deletions(-)
diff --git a/engine/schema/src/main/java/com/cloud/usage/UsageIPAddressVO.java
b/engine/schema/src/main/java/com/cloud/usage/UsageIPAddressVO.java
index 5e4dc65..330ab655 100644
--- a/engine/schema/src/main/java/com/cloud/usage/UsageIPAddressVO.java
+++ b/engine/schema/src/main/java/com/cloud/usage/UsageIPAddressVO.java
@@ -20,6 +20,9 @@ import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -29,6 +32,12 @@ import org.apache.cloudstack.api.InternalIdentity;
@Entity
@Table(name = "usage_ip_address")
public class UsageIPAddressVO implements InternalIdentity {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
+
@Column(name = "account_id")
private long accountId;
@@ -38,8 +47,8 @@ public class UsageIPAddressVO implements InternalIdentity {
@Column(name = "zone_id")
private long zoneId;
- @Column(name = "id")
- private long id;
+ @Column(name = "ip_id")
+ private long ipId;
@Column(name = "public_ip_address")
private String address = null;
@@ -65,7 +74,7 @@ public class UsageIPAddressVO implements InternalIdentity {
}
public UsageIPAddressVO(long id, long accountId, long domainId, long
zoneId, String address, boolean isSourceNat, boolean isSystem, Date assigned,
Date released, boolean isHidden) {
- this.id = id;
+ this.ipId = id;
this.accountId = accountId;
this.domainId = domainId;
this.zoneId = zoneId;
@@ -128,4 +137,8 @@ public class UsageIPAddressVO implements InternalIdentity {
public boolean isHidden() {
return isHidden;
}
+
+ public long getIpId() {
+ return ipId;
+ }
}
diff --git
a/engine/schema/src/main/java/com/cloud/usage/UsageLoadBalancerPolicyVO.java
b/engine/schema/src/main/java/com/cloud/usage/UsageLoadBalancerPolicyVO.java
index d85d5ff..e8bbb91 100644
--- a/engine/schema/src/main/java/com/cloud/usage/UsageLoadBalancerPolicyVO.java
+++ b/engine/schema/src/main/java/com/cloud/usage/UsageLoadBalancerPolicyVO.java
@@ -20,6 +20,9 @@ import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -30,6 +33,11 @@ import org.apache.cloudstack.api.InternalIdentity;
@Table(name = "usage_load_balancer_policy")
public class UsageLoadBalancerPolicyVO implements InternalIdentity {
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
+
@Column(name = "zone_id")
private long zoneId;
@@ -39,8 +47,8 @@ public class UsageLoadBalancerPolicyVO implements
InternalIdentity {
@Column(name = "domain_id")
private long domainId;
- @Column(name = "id")
- private long id;
+ @Column(name = "lb_id")
+ private long lbId;
@Column(name = "created")
@Temporal(value = TemporalType.TIMESTAMP)
@@ -57,7 +65,7 @@ public class UsageLoadBalancerPolicyVO implements
InternalIdentity {
this.zoneId = zoneId;
this.accountId = accountId;
this.domainId = domainId;
- this.id = id;
+ this.lbId = id;
this.created = created;
this.deleted = deleted;
}
@@ -90,4 +98,8 @@ public class UsageLoadBalancerPolicyVO implements
InternalIdentity {
public void setDeleted(Date deleted) {
this.deleted = deleted;
}
+
+ public long getLbId() {
+ return lbId;
+ }
}
diff --git
a/engine/schema/src/main/java/com/cloud/usage/UsageNetworkOfferingVO.java
b/engine/schema/src/main/java/com/cloud/usage/UsageNetworkOfferingVO.java
index 25218ba..f16f1ea 100644
--- a/engine/schema/src/main/java/com/cloud/usage/UsageNetworkOfferingVO.java
+++ b/engine/schema/src/main/java/com/cloud/usage/UsageNetworkOfferingVO.java
@@ -16,17 +16,27 @@
// under the License.
package com.cloud.usage;
+import org.apache.cloudstack.api.InternalIdentity;
+
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name = "usage_network_offering")
-public class UsageNetworkOfferingVO {
+public class UsageNetworkOfferingVO implements InternalIdentity {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
@Column(name = "zone_id")
private long zoneId;
@@ -116,4 +126,9 @@ public class UsageNetworkOfferingVO {
public void setNicId(Long nicId) {
this.nicId = nicId;
}
+
+ @Override
+ public long getId() {
+ return this.id;
+ }
}
diff --git
a/engine/schema/src/main/java/com/cloud/usage/UsagePortForwardingRuleVO.java
b/engine/schema/src/main/java/com/cloud/usage/UsagePortForwardingRuleVO.java
index b6eb056..2ee10c7 100644
--- a/engine/schema/src/main/java/com/cloud/usage/UsagePortForwardingRuleVO.java
+++ b/engine/schema/src/main/java/com/cloud/usage/UsagePortForwardingRuleVO.java
@@ -20,6 +20,9 @@ import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -30,6 +33,11 @@ import org.apache.cloudstack.api.InternalIdentity;
@Table(name = "usage_port_forwarding")
public class UsagePortForwardingRuleVO implements InternalIdentity {
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
+
@Column(name = "zone_id")
private long zoneId;
@@ -39,8 +47,8 @@ public class UsagePortForwardingRuleVO implements
InternalIdentity {
@Column(name = "domain_id")
private long domainId;
- @Column(name = "id")
- private long id;
+ @Column(name = "pf_id")
+ private long pfId;
@Column(name = "created")
@Temporal(value = TemporalType.TIMESTAMP)
@@ -57,7 +65,7 @@ public class UsagePortForwardingRuleVO implements
InternalIdentity {
this.zoneId = zoneId;
this.accountId = accountId;
this.domainId = domainId;
- this.id = id;
+ this.pfId = id;
this.created = created;
this.deleted = deleted;
}
@@ -90,4 +98,8 @@ public class UsagePortForwardingRuleVO implements
InternalIdentity {
public void setDeleted(Date deleted) {
this.deleted = deleted;
}
+
+ public long getPfId() {
+ return pfId;
+ }
}
diff --git
a/engine/schema/src/main/java/com/cloud/usage/UsageSecurityGroupVO.java
b/engine/schema/src/main/java/com/cloud/usage/UsageSecurityGroupVO.java
index e2da16d..7ca9c71 100644
--- a/engine/schema/src/main/java/com/cloud/usage/UsageSecurityGroupVO.java
+++ b/engine/schema/src/main/java/com/cloud/usage/UsageSecurityGroupVO.java
@@ -16,17 +16,27 @@
// under the License.
package com.cloud.usage;
+import org.apache.cloudstack.api.InternalIdentity;
+
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name = "usage_security_group")
-public class UsageSecurityGroupVO {
+public class UsageSecurityGroupVO implements InternalIdentity {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
@Column(name = "zone_id")
private long zoneId;
@@ -95,4 +105,9 @@ public class UsageSecurityGroupVO {
public void setDeleted(Date deleted) {
this.deleted = deleted;
}
+
+ @Override
+ public long getId() {
+ return this.id;
+ }
}
diff --git
a/engine/schema/src/main/java/com/cloud/usage/UsageSnapshotOnPrimaryVO.java
b/engine/schema/src/main/java/com/cloud/usage/UsageSnapshotOnPrimaryVO.java
index 54544a2..db912c3 100644
--- a/engine/schema/src/main/java/com/cloud/usage/UsageSnapshotOnPrimaryVO.java
+++ b/engine/schema/src/main/java/com/cloud/usage/UsageSnapshotOnPrimaryVO.java
@@ -20,6 +20,9 @@ import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -30,9 +33,13 @@ import org.apache.cloudstack.api.InternalIdentity;
@Table(name = "usage_snapshot_on_primary")
public class UsageSnapshotOnPrimaryVO implements InternalIdentity {
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
- // volumeId
- private long id;
+ private Long id;
+
+ @Column(name = "volume_id")
+ private long volumeId;
@Column(name = "zone_id")
private long zoneId;
@@ -73,7 +80,7 @@ public class UsageSnapshotOnPrimaryVO implements
InternalIdentity {
}
public UsageSnapshotOnPrimaryVO(long id, long zoneId, long accountId, long
domainId, long vmId, String name, int type, long virtualSize, long
physicalSize, Date created, Date deleted) {
- this.id = id;
+ this.volumeId = id;
this.zoneId = zoneId;
this.accountId = accountId;
this.domainId = domainId;
@@ -153,4 +160,7 @@ public class UsageSnapshotOnPrimaryVO implements
InternalIdentity {
+ ", snapshotType=" + snapshotType + ", physicalSize=" +
physicalSize + ", created=" + created + ", deleted=" + deleted + ",
virtualSize=" + virtualSize + ", vmSnapshotId=" + vmSnapshotId + "]";
}
+ public long getVolumeId() {
+ return volumeId;
+ }
}
diff --git a/engine/schema/src/main/java/com/cloud/usage/UsageStorageVO.java
b/engine/schema/src/main/java/com/cloud/usage/UsageStorageVO.java
index 6b1cd4e..08c192d 100644
--- a/engine/schema/src/main/java/com/cloud/usage/UsageStorageVO.java
+++ b/engine/schema/src/main/java/com/cloud/usage/UsageStorageVO.java
@@ -20,6 +20,9 @@ import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -30,6 +33,11 @@ import org.apache.cloudstack.api.InternalIdentity;
@Table(name = "usage_storage")
public class UsageStorageVO implements InternalIdentity {
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
+
@Column(name = "zone_id")
private long zoneId;
@@ -39,8 +47,8 @@ public class UsageStorageVO implements InternalIdentity {
@Column(name = "domain_id")
private long domainId;
- @Column(name = "id")
- private long id;
+ @Column(name = "entity_id")
+ private long entityId;
@Column(name = "storage_type")
private int storageType;
@@ -69,7 +77,7 @@ public class UsageStorageVO implements InternalIdentity {
this.zoneId = zoneId;
this.accountId = accountId;
this.domainId = domainId;
- this.id = id;
+ this.entityId = id;
this.storageType = storageType;
this.sourceId = sourceId;
this.size = size;
@@ -81,7 +89,7 @@ public class UsageStorageVO implements InternalIdentity {
this.zoneId = zoneId;
this.accountId = accountId;
this.domainId = domainId;
- this.id = id;
+ this.entityId = id;
this.storageType = storageType;
this.sourceId = sourceId;
this.size = size;
@@ -134,4 +142,8 @@ public class UsageStorageVO implements InternalIdentity {
public void setDeleted(Date deleted) {
this.deleted = deleted;
}
+
+ public long getEntityId() {
+ return entityId;
+ }
}
diff --git a/engine/schema/src/main/java/com/cloud/usage/UsageVMInstanceVO.java
b/engine/schema/src/main/java/com/cloud/usage/UsageVMInstanceVO.java
index 1e7b424..38c8982 100644
--- a/engine/schema/src/main/java/com/cloud/usage/UsageVMInstanceVO.java
+++ b/engine/schema/src/main/java/com/cloud/usage/UsageVMInstanceVO.java
@@ -16,17 +16,27 @@
// under the License.
package com.cloud.usage;
+import org.apache.cloudstack.api.InternalIdentity;
+
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name = "usage_vm_instance")
-public class UsageVMInstanceVO {
+public class UsageVMInstanceVO implements InternalIdentity {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
@Column(name = "usage_type")
private int usageType;
@@ -178,4 +188,9 @@ public class UsageVMInstanceVO {
public void setCpuSpeed(Long cpuSpeed) {
this.cpuSpeed = cpuSpeed;
}
+
+ @Override
+ public long getId() {
+ return this.id;
+ }
}
diff --git a/engine/schema/src/main/java/com/cloud/usage/UsageVMSnapshotVO.java
b/engine/schema/src/main/java/com/cloud/usage/UsageVMSnapshotVO.java
index 0fce5e8..3bb354f 100644
--- a/engine/schema/src/main/java/com/cloud/usage/UsageVMSnapshotVO.java
+++ b/engine/schema/src/main/java/com/cloud/usage/UsageVMSnapshotVO.java
@@ -20,6 +20,9 @@ import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -30,9 +33,13 @@ import org.apache.cloudstack.api.InternalIdentity;
@Table(name = "usage_vmsnapshot")
public class UsageVMSnapshotVO implements InternalIdentity {
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
- // volumeId
- private long id;
+ private Long id;
+
+ @Column(name = "volume_id")
+ private long volumeId;
@Column(name = "zone_id")
private long zoneId;
@@ -71,7 +78,7 @@ public class UsageVMSnapshotVO implements InternalIdentity {
this.accountId = accountId;
this.domainId = domainId;
this.diskOfferingId = diskOfferingId;
- this.id = id;
+ this.volumeId = id;
this.size = size;
this.created = created;
this.vmId = vmId;
@@ -131,6 +138,10 @@ public class UsageVMSnapshotVO implements InternalIdentity
{
this.vmSnapshotId = vmSnapshotId;
}
+ public long getVolumeId() {
+ return volumeId;
+ }
+
@Override
public String toString() {
return "UsageVMSnapshotVO [id=" + id + ", zoneId=" + zoneId + ",
accountId=" + accountId + ", domainId=" + domainId + ", vmId=" + vmId + ",
diskOfferingId="
diff --git a/engine/schema/src/main/java/com/cloud/usage/UsageVPNUserVO.java
b/engine/schema/src/main/java/com/cloud/usage/UsageVPNUserVO.java
index eecffbe..9bd8e2f 100644
--- a/engine/schema/src/main/java/com/cloud/usage/UsageVPNUserVO.java
+++ b/engine/schema/src/main/java/com/cloud/usage/UsageVPNUserVO.java
@@ -16,17 +16,27 @@
// under the License.
package com.cloud.usage;
+import org.apache.cloudstack.api.InternalIdentity;
+
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name = "usage_vpn_user")
-public class UsageVPNUserVO {
+public class UsageVPNUserVO implements InternalIdentity {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
@Column(name = "zone_id")
private long zoneId;
@@ -103,4 +113,9 @@ public class UsageVPNUserVO {
public void setUsername(String username) {
this.username = username;
}
+
+ @Override
+ public long getId() {
+ return this.id;
+ }
}
diff --git a/engine/schema/src/main/java/com/cloud/usage/UsageVolumeVO.java
b/engine/schema/src/main/java/com/cloud/usage/UsageVolumeVO.java
index 4b57aa0..96abd2d 100644
--- a/engine/schema/src/main/java/com/cloud/usage/UsageVolumeVO.java
+++ b/engine/schema/src/main/java/com/cloud/usage/UsageVolumeVO.java
@@ -20,6 +20,9 @@ import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -30,6 +33,11 @@ import org.apache.cloudstack.api.InternalIdentity;
@Table(name = "usage_volume")
public class UsageVolumeVO implements InternalIdentity {
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
+
@Column(name = "zone_id")
private long zoneId;
@@ -39,8 +47,8 @@ public class UsageVolumeVO implements InternalIdentity {
@Column(name = "domain_id")
private long domainId;
- @Column(name = "id")
- private long id;
+ @Column(name = "volume_id")
+ private long volumeId;
@Column(name = "disk_offering_id")
private Long diskOfferingId;
@@ -63,7 +71,7 @@ public class UsageVolumeVO implements InternalIdentity {
}
public UsageVolumeVO(long id, long zoneId, long accountId, long domainId,
Long diskOfferingId, Long templateId, long size, Date created, Date deleted) {
- this.id = id;
+ this.volumeId = id;
this.zoneId = zoneId;
this.accountId = accountId;
this.domainId = domainId;
@@ -114,4 +122,8 @@ public class UsageVolumeVO implements InternalIdentity {
public void setDeleted(Date deleted) {
this.deleted = deleted;
}
+
+ public long getVolumeId() {
+ return volumeId;
+ }
}
diff --git
a/engine/schema/src/main/java/com/cloud/usage/dao/UsageIPAddressDaoImpl.java
b/engine/schema/src/main/java/com/cloud/usage/dao/UsageIPAddressDaoImpl.java
index 41f573f..2dcb181 100644
--- a/engine/schema/src/main/java/com/cloud/usage/dao/UsageIPAddressDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/usage/dao/UsageIPAddressDaoImpl.java
@@ -40,17 +40,17 @@ public class UsageIPAddressDaoImpl extends
GenericDaoBase<UsageIPAddressVO, Long
protected static final String UPDATE_RELEASED = "UPDATE usage_ip_address
SET released = ? WHERE account_id = ? AND public_ip_address = ? and released IS
NULL";
protected static final String GET_USAGE_RECORDS_BY_ACCOUNT =
- "SELECT id, account_id, domain_id, zone_id, public_ip_address,
is_source_nat, is_system, assigned, released, is_hidden "
+ "SELECT ip_id, account_id, domain_id, zone_id, public_ip_address,
is_source_nat, is_system, assigned, released, is_hidden "
+ "FROM usage_ip_address "
+ "WHERE account_id = ? AND ((released IS NULL AND assigned <= ?)
OR (assigned BETWEEN ? AND ?) OR "
+ " (released BETWEEN ? AND ?) OR ((assigned <= ?) AND
(released >= ?)))";
protected static final String GET_USAGE_RECORDS_BY_DOMAIN =
- "SELECT id, account_id, domain_id, zone_id, public_ip_address,
is_source_nat, is_system, assigned, released, is_hidden "
+ "SELECT ip_id, account_id, domain_id, zone_id, public_ip_address,
is_source_nat, is_system, assigned, released, is_hidden "
+ "FROM usage_ip_address "
+ "WHERE domain_id = ? AND ((released IS NULL AND assigned <= ?)
OR (assigned BETWEEN ? AND ?) OR "
+ " (released BETWEEN ? AND ?) OR ((assigned <= ?) AND
(released >= ?)))";
protected static final String GET_ALL_USAGE_RECORDS =
- "SELECT id, account_id, domain_id, zone_id, public_ip_address,
is_source_nat, is_system, assigned, released, is_hidden "
+ "SELECT ip_id, account_id, domain_id, zone_id, public_ip_address,
is_source_nat, is_system, assigned, released, is_hidden "
+ "FROM usage_ip_address "
+ "WHERE (released IS NULL AND assigned <= ?) OR (assigned BETWEEN
? AND ?) OR "
+ " (released BETWEEN ? AND ?) OR ((assigned <= ?) AND
(released >= ?))";
diff --git
a/engine/schema/src/main/java/com/cloud/usage/dao/UsageLoadBalancerPolicyDaoImpl.java
b/engine/schema/src/main/java/com/cloud/usage/dao/UsageLoadBalancerPolicyDaoImpl.java
index 969f0c3..7260cae 100644
---
a/engine/schema/src/main/java/com/cloud/usage/dao/UsageLoadBalancerPolicyDaoImpl.java
+++
b/engine/schema/src/main/java/com/cloud/usage/dao/UsageLoadBalancerPolicyDaoImpl.java
@@ -38,13 +38,13 @@ import com.cloud.utils.db.TransactionLegacy;
public class UsageLoadBalancerPolicyDaoImpl extends
GenericDaoBase<UsageLoadBalancerPolicyVO, Long> implements
UsageLoadBalancerPolicyDao {
public static final Logger s_logger =
Logger.getLogger(UsageLoadBalancerPolicyDaoImpl.class.getName());
- protected static final String REMOVE_BY_USERID_LBID = "DELETE FROM
usage_load_balancer_policy WHERE account_id = ? AND id = ?";
- protected static final String UPDATE_DELETED = "UPDATE
usage_load_balancer_policy SET deleted = ? WHERE account_id = ? AND id = ? and
deleted IS NULL";
- protected static final String GET_USAGE_RECORDS_BY_ACCOUNT = "SELECT id,
zone_id, account_id, domain_id, created, deleted " + "FROM
usage_load_balancer_policy "
+ protected static final String REMOVE_BY_USERID_LBID = "DELETE FROM
usage_load_balancer_policy WHERE account_id = ? AND lb_id = ?";
+ protected static final String UPDATE_DELETED = "UPDATE
usage_load_balancer_policy SET deleted = ? WHERE account_id = ? AND lb_id = ?
and deleted IS NULL";
+ protected static final String GET_USAGE_RECORDS_BY_ACCOUNT = "SELECT
lb_id, zone_id, account_id, domain_id, created, deleted " + "FROM
usage_load_balancer_policy "
+ "WHERE account_id = ? AND ((deleted IS NULL) OR (created BETWEEN ?
AND ?) OR " + " (deleted BETWEEN ? AND ?) OR ((created <= ?) AND (deleted
>= ?)))";
- protected static final String GET_USAGE_RECORDS_BY_DOMAIN = "SELECT id,
zone_id, account_id, domain_id, created, deleted " + "FROM
usage_load_balancer_policy "
+ protected static final String GET_USAGE_RECORDS_BY_DOMAIN = "SELECT lb_id,
zone_id, account_id, domain_id, created, deleted " + "FROM
usage_load_balancer_policy "
+ "WHERE domain_id = ? AND ((deleted IS NULL) OR (created BETWEEN ?
AND ?) OR " + " (deleted BETWEEN ? AND ?) OR ((created <= ?) AND (deleted
>= ?)))";
- protected static final String GET_ALL_USAGE_RECORDS = "SELECT id, zone_id,
account_id, domain_id, created, deleted " + "FROM usage_load_balancer_policy "
+ protected static final String GET_ALL_USAGE_RECORDS = "SELECT lb_id,
zone_id, account_id, domain_id, created, deleted " + "FROM
usage_load_balancer_policy "
+ "WHERE (deleted IS NULL) OR (created BETWEEN ? AND ?) OR " + "
(deleted BETWEEN ? AND ?) OR ((created <= ?) AND (deleted >= ?))";
public UsageLoadBalancerPolicyDaoImpl() {
@@ -80,7 +80,7 @@ public class UsageLoadBalancerPolicyDaoImpl extends
GenericDaoBase<UsageLoadBala
if (pstmt != null) {
pstmt.setString(1,
DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), usage.getDeleted()));
pstmt.setLong(2, usage.getAccountId());
- pstmt.setLong(3, usage.getId());
+ pstmt.setLong(3, usage.getLbId());
pstmt.executeUpdate();
}
}catch (SQLException e) {
diff --git
a/engine/schema/src/main/java/com/cloud/usage/dao/UsagePortForwardingRuleDaoImpl.java
b/engine/schema/src/main/java/com/cloud/usage/dao/UsagePortForwardingRuleDaoImpl.java
index 76d78ce..9921642 100644
---
a/engine/schema/src/main/java/com/cloud/usage/dao/UsagePortForwardingRuleDaoImpl.java
+++
b/engine/schema/src/main/java/com/cloud/usage/dao/UsagePortForwardingRuleDaoImpl.java
@@ -38,13 +38,13 @@ import com.cloud.utils.db.TransactionLegacy;
public class UsagePortForwardingRuleDaoImpl extends
GenericDaoBase<UsagePortForwardingRuleVO, Long> implements
UsagePortForwardingRuleDao {
public static final Logger s_logger =
Logger.getLogger(UsagePortForwardingRuleDaoImpl.class.getName());
- protected static final String REMOVE_BY_USERID_PFID = "DELETE FROM
usage_port_forwarding WHERE account_id = ? AND id = ?";
- protected static final String UPDATE_DELETED = "UPDATE
usage_port_forwarding SET deleted = ? WHERE account_id = ? AND id = ? and
deleted IS NULL";
- protected static final String GET_USAGE_RECORDS_BY_ACCOUNT = "SELECT id,
zone_id, account_id, domain_id, created, deleted " + "FROM
usage_port_forwarding "
+ protected static final String REMOVE_BY_USERID_PFID = "DELETE FROM
usage_port_forwarding WHERE account_id = ? AND pf_id = ?";
+ protected static final String UPDATE_DELETED = "UPDATE
usage_port_forwarding SET deleted = ? WHERE account_id = ? AND pf_id = ? and
deleted IS NULL";
+ protected static final String GET_USAGE_RECORDS_BY_ACCOUNT = "SELECT
pf_id, zone_id, account_id, domain_id, created, deleted " + "FROM
usage_port_forwarding "
+ "WHERE account_id = ? AND ((deleted IS NULL) OR (created BETWEEN ?
AND ?) OR " + " (deleted BETWEEN ? AND ?) OR ((created <= ?) AND (deleted
>= ?)))";
- protected static final String GET_USAGE_RECORDS_BY_DOMAIN = "SELECT id,
zone_id, account_id, domain_id, created, deleted " + "FROM
usage_port_forwarding "
+ protected static final String GET_USAGE_RECORDS_BY_DOMAIN = "SELECT pf_id,
zone_id, account_id, domain_id, created, deleted " + "FROM
usage_port_forwarding "
+ "WHERE domain_id = ? AND ((deleted IS NULL) OR (created BETWEEN ?
AND ?) OR " + " (deleted BETWEEN ? AND ?) OR ((created <= ?) AND (deleted
>= ?)))";
- protected static final String GET_ALL_USAGE_RECORDS = "SELECT id, zone_id,
account_id, domain_id, created, deleted " + "FROM usage_port_forwarding "
+ protected static final String GET_ALL_USAGE_RECORDS = "SELECT pf_id,
zone_id, account_id, domain_id, created, deleted " + "FROM
usage_port_forwarding "
+ "WHERE (deleted IS NULL) OR (created BETWEEN ? AND ?) OR " + "
(deleted BETWEEN ? AND ?) OR ((created <= ?) AND (deleted >= ?))";
public UsagePortForwardingRuleDaoImpl() {
@@ -80,7 +80,7 @@ public class UsagePortForwardingRuleDaoImpl extends
GenericDaoBase<UsagePortForw
if (pstmt != null) {
pstmt.setString(1,
DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), usage.getDeleted()));
pstmt.setLong(2, usage.getAccountId());
- pstmt.setLong(3, usage.getId());
+ pstmt.setLong(3, usage.getPfId());
pstmt.executeUpdate();
}
}catch (SQLException e) {
diff --git
a/engine/schema/src/main/java/com/cloud/usage/dao/UsageStorageDaoImpl.java
b/engine/schema/src/main/java/com/cloud/usage/dao/UsageStorageDaoImpl.java
index ad8ce59..680429b 100644
--- a/engine/schema/src/main/java/com/cloud/usage/dao/UsageStorageDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/usage/dao/UsageStorageDaoImpl.java
@@ -40,15 +40,15 @@ import com.cloud.utils.db.TransactionLegacy;
public class UsageStorageDaoImpl extends GenericDaoBase<UsageStorageVO, Long>
implements UsageStorageDao {
public static final Logger s_logger =
Logger.getLogger(UsageStorageDaoImpl.class.getName());
- protected static final String REMOVE_BY_USERID_STORAGEID = "DELETE FROM
usage_storage WHERE account_id = ? AND id = ? AND storage_type = ?";
- protected static final String UPDATE_DELETED = "UPDATE usage_storage SET
deleted = ? WHERE account_id = ? AND id = ? AND storage_type = ? AND zone_id =
? and deleted IS NULL";
+ protected static final String REMOVE_BY_USERID_STORAGEID = "DELETE FROM
usage_storage WHERE account_id = ? AND entity_id = ? AND storage_type = ?";
+ protected static final String UPDATE_DELETED = "UPDATE usage_storage SET
deleted = ? WHERE account_id = ? AND entity_id = ? AND storage_type = ? AND
zone_id = ? and deleted IS NULL";
protected static final String GET_USAGE_RECORDS_BY_ACCOUNT =
- "SELECT id, zone_id, account_id, domain_id, storage_type, source_id,
size, created, deleted, virtual_size " + "FROM usage_storage "
+ "SELECT entity_id, zone_id, account_id, domain_id, storage_type,
source_id, size, created, deleted, virtual_size " + "FROM usage_storage "
+ "WHERE account_id = ? AND ((deleted IS NULL) OR (created BETWEEN
? AND ?) OR " + " (deleted BETWEEN ? AND ?) OR ((created <= ?) AND
(deleted >= ?)))";
protected static final String GET_USAGE_RECORDS_BY_DOMAIN =
- "SELECT id, zone_id, account_id, domain_id, storage_type, source_id,
size, created, deleted, virtual_size " + "FROM usage_storage "
+ "SELECT entity_id, zone_id, account_id, domain_id, storage_type,
source_id, size, created, deleted, virtual_size " + "FROM usage_storage "
+ "WHERE domain_id = ? AND ((deleted IS NULL) OR (created BETWEEN
? AND ?) OR " + " (deleted BETWEEN ? AND ?) OR ((created <= ?) AND
(deleted >= ?)))";
- protected static final String GET_ALL_USAGE_RECORDS = "SELECT id, zone_id,
account_id, domain_id, storage_type, source_id, size, created, deleted,
virtual_size "
+ protected static final String GET_ALL_USAGE_RECORDS = "SELECT entity_id,
zone_id, account_id, domain_id, storage_type, source_id, size, created,
deleted, virtual_size "
+ "FROM usage_storage " + "WHERE (deleted IS NULL) OR (created BETWEEN
? AND ?) OR " + " (deleted BETWEEN ? AND ?) OR ((created <= ?) AND
(deleted >= ?))";
private final SearchBuilder<UsageStorageVO> IdSearch;
@@ -57,13 +57,13 @@ public class UsageStorageDaoImpl extends
GenericDaoBase<UsageStorageVO, Long> im
public UsageStorageDaoImpl() {
IdSearch = createSearchBuilder();
IdSearch.and("accountId", IdSearch.entity().getAccountId(),
SearchCriteria.Op.EQ);
- IdSearch.and("id", IdSearch.entity().getId(), SearchCriteria.Op.EQ);
+ IdSearch.and("id", IdSearch.entity().getEntityId(),
SearchCriteria.Op.EQ);
IdSearch.and("type", IdSearch.entity().getStorageType(),
SearchCriteria.Op.EQ);
IdSearch.done();
IdZoneSearch = createSearchBuilder();
IdZoneSearch.and("accountId", IdZoneSearch.entity().getAccountId(),
SearchCriteria.Op.EQ);
- IdZoneSearch.and("id", IdZoneSearch.entity().getId(),
SearchCriteria.Op.EQ);
+ IdZoneSearch.and("id", IdZoneSearch.entity().getEntityId(),
SearchCriteria.Op.EQ);
IdZoneSearch.and("type", IdZoneSearch.entity().getStorageType(),
SearchCriteria.Op.EQ);
IdZoneSearch.and("dcId", IdZoneSearch.entity().getZoneId(),
SearchCriteria.Op.EQ);
IdZoneSearch.and("deleted", IdZoneSearch.entity().getDeleted(),
SearchCriteria.Op.NULL);
@@ -124,7 +124,7 @@ public class UsageStorageDaoImpl extends
GenericDaoBase<UsageStorageVO, Long> im
if (pstmt != null) {
pstmt.setString(1,
DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), usage.getDeleted()));
pstmt.setLong(2, usage.getAccountId());
- pstmt.setLong(3, usage.getId());
+ pstmt.setLong(3, usage.getEntityId());
pstmt.setInt(4, usage.getStorageType());
pstmt.setLong(5, usage.getZoneId());
pstmt.executeUpdate();
diff --git
a/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotDaoImpl.java
b/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotDaoImpl.java
index 337d05e..7e604c4 100644
---
a/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotDaoImpl.java
+++
b/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotDaoImpl.java
@@ -37,13 +37,13 @@ import com.cloud.utils.db.TransactionLegacy;
@Component
public class UsageVMSnapshotDaoImpl extends GenericDaoBase<UsageVMSnapshotVO,
Long> implements UsageVMSnapshotDao {
public static final Logger s_logger =
Logger.getLogger(UsageVMSnapshotDaoImpl.class.getName());
- protected static final String GET_USAGE_RECORDS_BY_ACCOUNT = "SELECT id,
zone_id, account_id, domain_id, vm_id, disk_offering_id, size, created,
processed, vm_snapshot_id "
+ protected static final String GET_USAGE_RECORDS_BY_ACCOUNT = "SELECT
volume_id, zone_id, account_id, domain_id, vm_id, disk_offering_id, size,
created, processed, vm_snapshot_id "
+ " FROM usage_vmsnapshot" + " WHERE account_id = ? " + " AND (
(created BETWEEN ? AND ?) OR "
+ " (created < ? AND processed is NULL) ) ORDER BY created asc";
- protected static final String UPDATE_DELETED = "UPDATE usage_vmsnapshot
SET processed = ? WHERE account_id = ? AND id = ? and vm_id = ? and created =
?";
+ protected static final String UPDATE_DELETED = "UPDATE usage_vmsnapshot
SET processed = ? WHERE account_id = ? AND volume_id = ? and vm_id = ? and
created = ?";
- protected static final String PREVIOUS_QUERY = "SELECT id, zone_id,
account_id, domain_id, vm_id, disk_offering_id,size, created, processed,
vm_snapshot_id "
- + "FROM usage_vmsnapshot " + "WHERE account_id = ? AND id = ? AND
vm_id = ? AND created < ? AND processed IS NULL " + "ORDER BY created desc
limit 1";
+ protected static final String PREVIOUS_QUERY = "SELECT volume_id, zone_id,
account_id, domain_id, vm_id, disk_offering_id,size, created, processed,
vm_snapshot_id "
+ + "FROM usage_vmsnapshot " + "WHERE account_id = ? AND volume_id = ?
AND vm_id = ? AND created < ? AND processed IS NULL " + "ORDER BY created desc
limit 1";
@Override
public void update(UsageVMSnapshotVO usage) {
@@ -54,7 +54,7 @@ public class UsageVMSnapshotDaoImpl extends
GenericDaoBase<UsageVMSnapshotVO, Lo
pstmt = txn.prepareAutoCloseStatement(UPDATE_DELETED);
pstmt.setString(1,
DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"),
usage.getProcessed()));
pstmt.setLong(2, usage.getAccountId());
- pstmt.setLong(3, usage.getId());
+ pstmt.setLong(3, usage.getVolumeId());
pstmt.setLong(4, usage.getVmId());
pstmt.setString(5,
DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), usage.getCreated()));
pstmt.executeUpdate();
@@ -134,7 +134,7 @@ public class UsageVMSnapshotDaoImpl extends
GenericDaoBase<UsageVMSnapshotVO, Lo
int i = 1;
pstmt = txn.prepareAutoCloseStatement(sql);
pstmt.setLong(i++, rec.getAccountId());
- pstmt.setLong(i++, rec.getId());
+ pstmt.setLong(i++, rec.getVolumeId());
pstmt.setLong(i++, rec.getVmId());
pstmt.setString(i++,
DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), rec.getCreated()));
diff --git
a/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotOnPrimaryDaoImpl.java
b/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotOnPrimaryDaoImpl.java
index 5a5d6f9..c8ee3a8 100644
---
a/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotOnPrimaryDaoImpl.java
+++
b/engine/schema/src/main/java/com/cloud/usage/dao/UsageVMSnapshotOnPrimaryDaoImpl.java
@@ -37,10 +37,10 @@ import com.cloud.utils.db.TransactionLegacy;
@Component
public class UsageVMSnapshotOnPrimaryDaoImpl extends
GenericDaoBase<UsageSnapshotOnPrimaryVO, Long> implements
UsageVMSnapshotOnPrimaryDao {
public static final Logger s_logger =
Logger.getLogger(UsageVMSnapshotOnPrimaryDaoImpl.class.getName());
- protected static final String GET_USAGE_RECORDS_BY_ACCOUNT = "SELECT id,
zone_id, account_id, domain_id, vm_id, name, type, physicalsize, virtualsize,
created, deleted, vm_snapshot_id "
+ protected static final String GET_USAGE_RECORDS_BY_ACCOUNT = "SELECT
volume_id, zone_id, account_id, domain_id, vm_id, name, type, physicalsize,
virtualsize, created, deleted, vm_snapshot_id "
+ " FROM usage_snapshot_on_primary" + " WHERE account_id = ? " + " AND
( (created < ? AND deleted is NULL)"
+ " OR ( deleted BETWEEN ? AND ?)) ORDER BY created asc";
- protected static final String UPDATE_DELETED = "UPDATE
usage_snapshot_on_primary SET deleted = ? WHERE account_id = ? AND id = ? and
vm_id = ? and created = ?";
+ protected static final String UPDATE_DELETED = "UPDATE
usage_snapshot_on_primary SET deleted = ? WHERE account_id = ? AND volume_id =
? and vm_id = ? and created = ?";
@Override
public void updateDeleted(UsageSnapshotOnPrimaryVO usage) {
@@ -51,7 +51,7 @@ public class UsageVMSnapshotOnPrimaryDaoImpl extends
GenericDaoBase<UsageSnapsho
pstmt = txn.prepareAutoCloseStatement(UPDATE_DELETED);
pstmt.setString(1,
DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), usage.getDeleted()));
pstmt.setLong(2, usage.getAccountId());
- pstmt.setLong(3, usage.getId());
+ pstmt.setLong(3, usage.getVolumeId());
pstmt.setLong(4, usage.getVmId());
pstmt.setString(5,
DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), usage.getCreated()));
pstmt.executeUpdate();
diff --git
a/engine/schema/src/main/java/com/cloud/usage/dao/UsageVolumeDaoImpl.java
b/engine/schema/src/main/java/com/cloud/usage/dao/UsageVolumeDaoImpl.java
index 9b983a5..0c35c11 100644
--- a/engine/schema/src/main/java/com/cloud/usage/dao/UsageVolumeDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/usage/dao/UsageVolumeDaoImpl.java
@@ -38,15 +38,15 @@ import com.cloud.utils.db.TransactionLegacy;
public class UsageVolumeDaoImpl extends GenericDaoBase<UsageVolumeVO, Long>
implements UsageVolumeDao {
public static final Logger s_logger =
Logger.getLogger(UsageVolumeDaoImpl.class.getName());
- protected static final String REMOVE_BY_USERID_VOLID = "DELETE FROM
usage_volume WHERE account_id = ? AND id = ?";
- protected static final String UPDATE_DELETED = "UPDATE usage_volume SET
deleted = ? WHERE account_id = ? AND id = ? and deleted IS NULL";
- protected static final String GET_USAGE_RECORDS_BY_ACCOUNT = "SELECT id,
zone_id, account_id, domain_id, disk_offering_id, template_id, size, created,
deleted "
+ protected static final String REMOVE_BY_USERID_VOLID = "DELETE FROM
usage_volume WHERE account_id = ? AND volume_id = ?";
+ protected static final String UPDATE_DELETED = "UPDATE usage_volume SET
deleted = ? WHERE account_id = ? AND volume_id = ? and deleted IS NULL";
+ protected static final String GET_USAGE_RECORDS_BY_ACCOUNT = "SELECT
volume_id, zone_id, account_id, domain_id, disk_offering_id, template_id, size,
created, deleted "
+ "FROM usage_volume " + "WHERE account_id = ? AND ((deleted IS NULL)
OR (created BETWEEN ? AND ?) OR "
+ " (deleted BETWEEN ? AND ?) OR ((created <= ?) AND (deleted >=
?)))";
- protected static final String GET_USAGE_RECORDS_BY_DOMAIN = "SELECT id,
zone_id, account_id, domain_id, disk_offering_id, template_id, size, created,
deleted "
+ protected static final String GET_USAGE_RECORDS_BY_DOMAIN = "SELECT
volume_id, zone_id, account_id, domain_id, disk_offering_id, template_id, size,
created, deleted "
+ "FROM usage_volume " + "WHERE domain_id = ? AND ((deleted IS NULL)
OR (created BETWEEN ? AND ?) OR "
+ " (deleted BETWEEN ? AND ?) OR ((created <= ?) AND (deleted >=
?)))";
- protected static final String GET_ALL_USAGE_RECORDS = "SELECT id, zone_id,
account_id, domain_id, disk_offering_id, template_id, size, created, deleted "
+ protected static final String GET_ALL_USAGE_RECORDS = "SELECT volume_id,
zone_id, account_id, domain_id, disk_offering_id, template_id, size, created,
deleted "
+ "FROM usage_volume " + "WHERE (deleted IS NULL) OR (created BETWEEN
? AND ?) OR " + " (deleted BETWEEN ? AND ?) OR ((created <= ?) AND
(deleted >= ?))";
public UsageVolumeDaoImpl() {
@@ -85,7 +85,7 @@ public class UsageVolumeDaoImpl extends
GenericDaoBase<UsageVolumeVO, Long> impl
pstmt = txn.prepareAutoCloseStatement(UPDATE_DELETED);
pstmt.setString(1,
DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), usage.getDeleted()));
pstmt.setLong(2, usage.getAccountId());
- pstmt.setLong(3, usage.getId());
+ pstmt.setLong(3, usage.getVolumeId());
pstmt.executeUpdate();
}
txn.commit();
diff --git a/engine/schema/src/main/java/com/cloud/user/UserStatsLogVO.java
b/engine/schema/src/main/java/com/cloud/user/UserStatsLogVO.java
index 6cb7e58..c96f3d7 100644
--- a/engine/schema/src/main/java/com/cloud/user/UserStatsLogVO.java
+++ b/engine/schema/src/main/java/com/cloud/user/UserStatsLogVO.java
@@ -16,10 +16,14 @@
// under the License.
package com.cloud.user;
+import org.apache.cloudstack.api.InternalIdentity;
+
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
@@ -27,8 +31,13 @@ import javax.persistence.TemporalType;
@Entity
@Table(name = "op_user_stats_log")
-public class UserStatsLogVO {
+public class UserStatsLogVO implements InternalIdentity {
+
@Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
+
@Column(name = "user_stats_id")
private long userStatsId;
@@ -129,4 +138,8 @@ public class UserStatsLogVO {
this.updatedTime = updatedTime;
}
+ @Override
+ public long getId() {
+ return this.id;
+ }
}
diff --git
a/engine/schema/src/main/resources/META-INF/db/schema-41600to41610.sql
b/engine/schema/src/main/resources/META-INF/db/schema-41600to41610.sql
index 04bdbca..bf9cbf8 100644
--- a/engine/schema/src/main/resources/META-INF/db/schema-41600to41610.sql
+++ b/engine/schema/src/main/resources/META-INF/db/schema-41600to41610.sql
@@ -20,3 +20,110 @@
--;
ALTER TABLE `cloud`.`vm_work_job` ADD COLUMN `secondary_object` char(100)
COMMENT 'any additional item that must be checked during queueing' AFTER
`vm_instance_id`;
+
+-- Stored procedures to handle cloud and cloud_schema changes
+
+-- Idempotent ADD COLUMN
+DROP PROCEDURE IF EXISTS `cloud`.`IDEMPOTENT_ADD_COLUMN`;
+CREATE PROCEDURE `cloud`.`IDEMPOTENT_ADD_COLUMN` (
+ IN in_table_name VARCHAR(200)
+, IN in_column_name VARCHAR(200)
+, IN in_column_definition VARCHAR(1000)
+)
+BEGIN
+ DECLARE CONTINUE HANDLER FOR 1060 BEGIN END; SET @ddl = CONCAT('ALTER
TABLE ', in_table_name); SET @ddl = CONCAT(@ddl, ' ', 'ADD COLUMN') ; SET @ddl
= CONCAT(@ddl, ' ', in_column_name); SET @ddl = CONCAT(@ddl, ' ',
in_column_definition); PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE
stmt; END;
+
+-- Idempotent ADD COLUMN
+DROP PROCEDURE IF EXISTS `cloud_usage`.`IDEMPOTENT_ADD_COLUMN`;
+CREATE PROCEDURE `cloud_usage`.`IDEMPOTENT_ADD_COLUMN` (
+ IN in_table_name VARCHAR(200)
+, IN in_column_name VARCHAR(200)
+, IN in_column_definition VARCHAR(1000)
+)
+BEGIN
+ DECLARE CONTINUE HANDLER FOR 1060 BEGIN END; SET @ddl = CONCAT('ALTER
TABLE ', in_table_name); SET @ddl = CONCAT(@ddl, ' ', 'ADD COLUMN') ; SET @ddl
= CONCAT(@ddl, ' ', in_column_name); SET @ddl = CONCAT(@ddl, ' ',
in_column_definition); PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE
stmt; END;
+
+-- Idempotent DROP INDEX
+DROP PROCEDURE IF EXISTS `cloud_usage`.`IDEMPOTENT_DROP_INDEX`;
+CREATE PROCEDURE `cloud_usage`.`IDEMPOTENT_DROP_INDEX` (
+ IN in_index_name VARCHAR(200)
+, IN in_table_name VARCHAR(200)
+)
+BEGIN
+ DECLARE CONTINUE HANDLER FOR 1091 BEGIN END; SET @ddl = CONCAT('DROP INDEX
', in_index_name); SET @ddl = CONCAT(@ddl, ' ', ' ON ') ; SET @ddl =
CONCAT(@ddl, ' ', in_table_name); PREPARE stmt FROM @ddl; EXECUTE stmt;
DEALLOCATE PREPARE stmt; END;
+
+-- Idempotent ADD UNIQUE INDEX
+DROP PROCEDURE IF EXISTS `cloud_usage`.`IDEMPOTENT_ADD_UNIQUE_INDEX`;
+CREATE PROCEDURE `cloud_usage`.`IDEMPOTENT_ADD_UNIQUE_INDEX` (
+ IN in_table_name VARCHAR(200)
+, IN in_index_name VARCHAR(200)
+, IN in_index_definition VARCHAR(1000)
+)
+BEGIN
+ DECLARE CONTINUE HANDLER FOR 1061 BEGIN END; SET @ddl = CONCAT('ALTER
TABLE ', in_table_name); SET @ddl = CONCAT(@ddl, ' ', 'ADD UNIQUE INDEX ',
in_index_name); SET @ddl = CONCAT(@ddl, ' ', in_index_definition); PREPARE stmt
FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt; END;
+
+-- Idempotent CHANGE COLUMN
+DROP PROCEDURE IF EXISTS `cloud_usage`.`IDEMPOTENT_CHANGE_COLUMN`;
+CREATE PROCEDURE `cloud_usage`.`IDEMPOTENT_CHANGE_COLUMN` (
+ IN in_table_name VARCHAR(200)
+, IN in_old_column_name VARCHAR(200)
+, IN in_new_column_name VARCHAR(200)
+, IN in_column_definition VARCHAR(1000)
+)
+BEGIN
+ DECLARE CONTINUE HANDLER FOR 1060 BEGIN END; SET @ddl = CONCAT('ALTER
TABLE ', in_table_name); SET @ddl = CONCAT(@ddl, ' ', ' CHANGE COLUMN') ; SET
@ddl = CONCAT(@ddl, ' ', in_old_column_name); SET @ddl = CONCAT(@ddl, ' ',
in_new_column_name); SET @ddl = CONCAT(@ddl, ' ', in_column_definition);
PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt; END;
+
+-- Invoke stored procedures to add primary keys on missing tables
+
+-- Add PK to cloud.op_user_stats_log
+CALL `cloud`.`IDEMPOTENT_ADD_COLUMN`('cloud.op_user_stats_log', 'id',
'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
+
+-- Add PK to cloud_usage.usage_ip_address
+CALL
`cloud_usage`.`IDEMPOTENT_DROP_INDEX`('id','cloud_usage.usage_ip_address');
+CALL `cloud_usage`.`IDEMPOTENT_CHANGE_COLUMN`('cloud_usage.usage_ip_address',
'id', 'ip_id', 'BIGINT(20) UNSIGNED NOT NULL');
+CALL `cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_ip_address',
'id', 'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
+CALL
`cloud_usage`.`IDEMPOTENT_ADD_UNIQUE_INDEX`('cloud_usage.usage_ip_address',
'id', '(ip_id ASC, assigned ASC)');
+
+-- Add PK to usage_load_balancer_policy
+CALL
`cloud_usage`.`IDEMPOTENT_CHANGE_COLUMN`('cloud_usage.usage_load_balancer_policy',
'id', 'lb_id', 'BIGINT(20) UNSIGNED NOT NULL');
+CALL
`cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_load_balancer_policy',
'id', 'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
+
+-- Add PK to cloud_usage.usage_network_offering
+CALL
`cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_network_offering',
'id', 'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
+
+-- Add PK to cloud_usage.usage_port_forwarding
+CALL
`cloud_usage`.`IDEMPOTENT_CHANGE_COLUMN`('cloud_usage.usage_port_forwarding',
'id', 'pf_id', 'BIGINT(20) UNSIGNED NOT NULL');
+CALL
`cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_port_forwarding',
'id', 'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
+
+-- Add PK to cloud_usage.usage_security_group
+CALL `cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_security_group',
'id', 'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
+
+-- cloud_usage.usage_snapshot_on_primary
+CALL
`cloud_usage`.`IDEMPOTENT_DROP_INDEX`('i_usage_snapshot_on_primary','cloud_usage.usage_snapshot_on_primary');
+CALL
`cloud_usage`.`IDEMPOTENT_CHANGE_COLUMN`('cloud_usage.usage_snapshot_on_primary',
'id', 'volume_id', 'BIGINT(20) UNSIGNED NOT NULL');
+CALL
`cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_snapshot_on_primary',
'id', 'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
+CALL
`cloud_usage`.`IDEMPOTENT_ADD_UNIQUE_INDEX`('cloud_usage.usage_snapshot_on_primary',
'i_usage_snapshot_on_primary', '(account_id ASC, volume_id ASC, vm_id ASC,
created ASC)');
+
+-- Add PK to cloud_usage.usage_storage
+CALL `cloud_usage`.`IDEMPOTENT_DROP_INDEX`('id','cloud_usage.usage_storage');
+CALL `cloud_usage`.`IDEMPOTENT_CHANGE_COLUMN`('cloud_usage.usage_storage',
'id', 'entity_id', 'BIGINT(20) UNSIGNED NOT NULL');
+CALL `cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_storage', 'id',
'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
+CALL `cloud_usage`.`IDEMPOTENT_ADD_UNIQUE_INDEX`('cloud_usage.usage_storage',
'id', '(entity_id ASC, storage_type ASC, zone_id ASC, created ASC)');
+
+-- Add PK to cloud_usage.usage_vm_instance
+CALL `cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_vm_instance',
'id', 'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
+
+-- Add PK to cloud_usage.usage_vmsnapshot
+CALL
`cloud_usage`.`IDEMPOTENT_DROP_INDEX`('i_usage_vmsnapshot','cloud_usage.usage_vmsnapshot');
+CALL `cloud_usage`.`IDEMPOTENT_CHANGE_COLUMN`('cloud_usage.usage_vmsnapshot',
'id', 'volume_id', 'BIGINT(20) UNSIGNED NOT NULL');
+CALL `cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_vmsnapshot',
'id', 'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
+CALL
`cloud_usage`.`IDEMPOTENT_ADD_UNIQUE_INDEX`('cloud_usage.usage_vmsnapshot',
'i_usage_vmsnapshot', '(account_id ASC, volume_id ASC, vm_id ASC, created
ASC)');
+
+-- Add PK to cloud_usage.usage_volume
+CALL `cloud_usage`.`IDEMPOTENT_DROP_INDEX`('id','cloud_usage.usage_volume');
+CALL `cloud_usage`.`IDEMPOTENT_CHANGE_COLUMN`('cloud_usage.usage_volume',
'id', 'volume_id', 'BIGINT(20) UNSIGNED NOT NULL');
+CALL `cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_volume', 'id',
'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
+CALL `cloud_usage`.`IDEMPOTENT_ADD_UNIQUE_INDEX`('cloud_usage.usage_volume',
'id', '(volume_id ASC, created ASC)');
+
+-- Add PK to cloud_usage.usage_vpn_user
+CALL `cloud_usage`.`IDEMPOTENT_ADD_COLUMN`('cloud_usage.usage_vpn_user', 'id',
'BIGINT(20) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`)');
diff --git
a/engine/schema/src/test/java/com/cloud/usage/dao/UsageStorageDaoImplTest.java
b/engine/schema/src/test/java/com/cloud/usage/dao/UsageStorageDaoImplTest.java
index 4c3311f..2a4a58e 100644
---
a/engine/schema/src/test/java/com/cloud/usage/dao/UsageStorageDaoImplTest.java
+++
b/engine/schema/src/test/java/com/cloud/usage/dao/UsageStorageDaoImplTest.java
@@ -60,7 +60,7 @@ public class UsageStorageDaoImplTest {
long id = 21, zoneId = 31, accountId = 41;
int storageType = 1;
- String UPDATE_DELETED = "UPDATE usage_storage SET deleted = ? WHERE
account_id = ? AND id = ? AND storage_type = ? AND zone_id = ? and deleted IS
NULL";
+ String UPDATE_DELETED = "UPDATE usage_storage SET deleted = ? WHERE
account_id = ? AND entity_id = ? AND storage_type = ? AND zone_id = ? and
deleted IS NULL";
Date deleted = new Date();
PowerMockito.mockStatic(TransactionLegacy.class);
@@ -68,7 +68,7 @@ public class UsageStorageDaoImplTest {
when(transactionMock.prepareStatement(contains(UPDATE_DELETED))).thenReturn(preparedStatementMock);
when(userStorageVOMock.getAccountId()).thenReturn(accountId);
- when(userStorageVOMock.getId()).thenReturn(id);
+ when(userStorageVOMock.getEntityId()).thenReturn(id);
when(userStorageVOMock.getStorageType()).thenReturn(storageType);
when(userStorageVOMock.getZoneId()).thenReturn(zoneId);
when(userStorageVOMock.getDeleted()).thenReturn(deleted);
diff --git
a/usage/src/main/java/com/cloud/usage/parser/IPAddressUsageParser.java
b/usage/src/main/java/com/cloud/usage/parser/IPAddressUsageParser.java
index 4844143..206a59e 100644
--- a/usage/src/main/java/com/cloud/usage/parser/IPAddressUsageParser.java
+++ b/usage/src/main/java/com/cloud/usage/parser/IPAddressUsageParser.java
@@ -82,7 +82,7 @@ public class IPAddressUsageParser {
// loop through all the usage IPs, create a usage record for each
for (UsageIPAddressVO usageIp : usageIPAddress) {
- long IpId = usageIp.getId();
+ long IpId = usageIp.getIpId();
String key = "" + IpId;
@@ -108,7 +108,7 @@ public class IPAddressUsageParser {
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);
+ updateIpUsageData(usageMap, key, usageIp.getIpId(),
currentDuration);
}
for (String ipIdKey : usageMap.keySet()) {
diff --git
a/usage/src/main/java/com/cloud/usage/parser/LoadBalancerUsageParser.java
b/usage/src/main/java/com/cloud/usage/parser/LoadBalancerUsageParser.java
index 31ff97d..b1e8826 100644
--- a/usage/src/main/java/com/cloud/usage/parser/LoadBalancerUsageParser.java
+++ b/usage/src/main/java/com/cloud/usage/parser/LoadBalancerUsageParser.java
@@ -81,7 +81,7 @@ public class LoadBalancerUsageParser {
// loop through all the load balancer policies, create a usage record
for each
for (UsageLoadBalancerPolicyVO usageLB : usageLBs) {
- long lbId = usageLB.getId();
+ long lbId = usageLB.getLbId();
String key = "" + lbId;
lbMap.put(key, new LBInfo(lbId, usageLB.getZoneId()));
@@ -105,7 +105,7 @@ public class LoadBalancerUsageParser {
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);
+ updateLBUsageData(usageMap, key, usageLB.getLbId(),
currentDuration);
}
for (String lbIdKey : usageMap.keySet()) {
diff --git
a/usage/src/main/java/com/cloud/usage/parser/PortForwardingUsageParser.java
b/usage/src/main/java/com/cloud/usage/parser/PortForwardingUsageParser.java
index 9abf8a7..19d1027 100644
--- a/usage/src/main/java/com/cloud/usage/parser/PortForwardingUsageParser.java
+++ b/usage/src/main/java/com/cloud/usage/parser/PortForwardingUsageParser.java
@@ -81,7 +81,7 @@ public class PortForwardingUsageParser {
// loop through all the port forwarding rule, create a usage record
for each
for (UsagePortForwardingRuleVO usagePF : usagePFs) {
- long pfId = usagePF.getId();
+ long pfId = usagePF.getPfId();
String key = "" + pfId;
pfMap.put(key, new PFInfo(pfId, usagePF.getZoneId()));
@@ -105,7 +105,7 @@ public class PortForwardingUsageParser {
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);
+ updatePFUsageData(usageMap, key, usagePF.getPfId(),
currentDuration);
}
for (String pfIdKey : usageMap.keySet()) {
diff --git a/usage/src/main/java/com/cloud/usage/parser/StorageUsageParser.java
b/usage/src/main/java/com/cloud/usage/parser/StorageUsageParser.java
index cd9b03c..1f35fe6 100644
--- a/usage/src/main/java/com/cloud/usage/parser/StorageUsageParser.java
+++ b/usage/src/main/java/com/cloud/usage/parser/StorageUsageParser.java
@@ -85,7 +85,7 @@ public class StorageUsageParser {
// loop through all the usage volumes, create a usage record for each
for (UsageStorageVO usageStorage : usageUsageStorages) {
- long storageId = usageStorage.getId();
+ long storageId = usageStorage.getEntityId();
int storage_type = usageStorage.getStorageType();
long size = usageStorage.getSize();
Long virtualSize = usageStorage.getVirtualSize();
@@ -116,7 +116,7 @@ public class StorageUsageParser {
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);
+ updateStorageUsageData(usageMap, key, usageStorage.getEntityId(),
currentDuration);
}
for (String storageIdKey : usageMap.keySet()) {
diff --git
a/usage/src/main/java/com/cloud/usage/parser/VMSnapshotOnPrimaryParser.java
b/usage/src/main/java/com/cloud/usage/parser/VMSnapshotOnPrimaryParser.java
index c6df150..eb66086 100644
--- a/usage/src/main/java/com/cloud/usage/parser/VMSnapshotOnPrimaryParser.java
+++ b/usage/src/main/java/com/cloud/usage/parser/VMSnapshotOnPrimaryParser.java
@@ -95,7 +95,7 @@ public class VMSnapshotOnPrimaryParser {
s_logger.debug("Remoevd vm snapshot found endDateEffective " +
endDateEffective + " period end data " + endDate);
}
long duration = (endDateEffective.getTime() - created.getTime()) +
1;
- createUsageRecord(UsageTypes.VM_SNAPSHOT_ON_PRIMARY, duration,
created, endDateEffective, account, usageRec.getId(), usageRec.getName(),
usageRec.getZoneId(),
+ createUsageRecord(UsageTypes.VM_SNAPSHOT_ON_PRIMARY, duration,
created, endDateEffective, account, usageRec.getVolumeId(), usageRec.getName(),
usageRec.getZoneId(),
usageRec.getVirtualSize(), usageRec.getPhysicalSize(),
usageRec.getVmSnapshotId());
}
diff --git
a/usage/src/main/java/com/cloud/usage/parser/VMSnapshotUsageParser.java
b/usage/src/main/java/com/cloud/usage/parser/VMSnapshotUsageParser.java
index 434bfa6..11de82f 100644
--- a/usage/src/main/java/com/cloud/usage/parser/VMSnapshotUsageParser.java
+++ b/usage/src/main/java/com/cloud/usage/parser/VMSnapshotUsageParser.java
@@ -74,7 +74,7 @@ public class VMSnapshotUsageParser {
Map<String, UsageVMSnapshotVO> unprocessedUsage = new HashMap<String,
UsageVMSnapshotVO>();
for (UsageVMSnapshotVO usageRec : usageUsageVMSnapshots) {
long zoneId = usageRec.getZoneId();
- Long volId = usageRec.getId();
+ Long volId = usageRec.getVolumeId();
long vmId = usageRec.getVmId();
String key = vmId + ":" + volId;
if (usageRec.getCreated().before(startDate)) {
@@ -114,7 +114,7 @@ public class VMSnapshotUsageParser {
created = startDate;
}
long duration = (endDate.getTime() - created.getTime()) + 1;
- createUsageRecord(UsageTypes.VM_SNAPSHOT, duration, created,
endDate, account, usageRec.getId(), usageRec.getZoneId(),
usageRec.getDiskOfferingId(),
+ createUsageRecord(UsageTypes.VM_SNAPSHOT, duration, created,
endDate, account, usageRec.getVolumeId(), usageRec.getZoneId(),
usageRec.getDiskOfferingId(),
usageRec.getVmId(), usageRec.getSize(),
usageRec.getVmSnapshotId());
}
diff --git a/usage/src/main/java/com/cloud/usage/parser/VolumeUsageParser.java
b/usage/src/main/java/com/cloud/usage/parser/VolumeUsageParser.java
index 20d43c5..79ed8bc 100644
--- a/usage/src/main/java/com/cloud/usage/parser/VolumeUsageParser.java
+++ b/usage/src/main/java/com/cloud/usage/parser/VolumeUsageParser.java
@@ -82,7 +82,7 @@ public class VolumeUsageParser {
// loop through all the usage volumes, create a usage record for each
for (UsageVolumeVO usageVol : usageUsageVols) {
- long volId = usageVol.getId();
+ long volId = usageVol.getVolumeId();
Long doId = usageVol.getDiskOfferingId();
long zoneId = usageVol.getZoneId();
Long templateId = usageVol.getTemplateId();
@@ -110,7 +110,7 @@ public class VolumeUsageParser {
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);
+ updateVolUsageData(usageMap, key, usageVol.getVolumeId(),
currentDuration);
}
for (String volIdKey : usageMap.keySet()) {