From 03c050360bf2e8f904222ade2bfbe48627ed7e54 Mon Sep 17 00:00:00 2001 From: Abhinandan Prateek Date: Wed, 22 Mar 2017 12:24:19 +0530 Subject: [PATCH] IR24:WIP --- api/src/com/cloud/event/EventTypes.java | 1 + .../storage/snapshot/StorageSystemSnapshotStrategy.java | 7 +++++++ .../com/cloud/storage/snapshot/SnapshotManagerImpl.java | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/api/src/com/cloud/event/EventTypes.java b/api/src/com/cloud/event/EventTypes.java index 3cc4eac81f12..2b15e239d900 100644 --- a/api/src/com/cloud/event/EventTypes.java +++ b/api/src/com/cloud/event/EventTypes.java @@ -233,6 +233,7 @@ public class EventTypes { // Snapshots public static final String EVENT_SNAPSHOT_CREATE = "SNAPSHOT.CREATE"; + public static final String EVENT_SNAPSHOT_OFF_PRIMARY = "SNAPSHOT.OFF_PRIMARY"; public static final String EVENT_SNAPSHOT_DELETE = "SNAPSHOT.DELETE"; public static final String EVENT_SNAPSHOT_REVERT = "SNAPSHOT.REVERT"; public static final String EVENT_SNAPSHOT_POLICY_CREATE = "SNAPSHOTPOLICY.CREATE"; diff --git a/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/StorageSystemSnapshotStrategy.java b/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/StorageSystemSnapshotStrategy.java index 2742da6dc611..c0c69b822870 100644 --- a/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/StorageSystemSnapshotStrategy.java +++ b/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/StorageSystemSnapshotStrategy.java @@ -19,6 +19,9 @@ import com.cloud.agent.AgentManager; import com.cloud.agent.api.to.DiskTO; import com.cloud.dc.dao.ClusterDao; +import com.cloud.event.ActionEvent; +import com.cloud.event.EventTypes; +import com.cloud.event.UsageEventUtils; import com.cloud.exception.InvalidParameterValueException; import com.cloud.host.HostVO; import com.cloud.host.dao.HostDao; @@ -147,7 +150,9 @@ public boolean deleteSnapshot(Long snapshotId) { * @return true if snapshot is removed, false otherwise */ + @ActionEvent(eventType = EventTypes.EVENT_SNAPSHOT_DELETE, eventDescription = "deleting snapshot", async = true) private boolean cleanupSnapshotOnPrimaryStore(long snapshotId) { + s_logger.info("IR24 cleanupSnapshotOnPrimaryStore snapshotId " + snapshotId); SnapshotObject snapshotObj = (SnapshotObject)snapshotDataFactory.getSnapshot(snapshotId, DataStoreRole.Primary); @@ -176,6 +181,8 @@ private boolean cleanupSnapshotOnPrimaryStore(long snapshotId) { snapshotSvr.deleteSnapshot(snapshotObj); snapshotObj.processEvent(Snapshot.Event.OperationSucceeded); + UsageEventUtils.publishUsageEvent(EventTypes.EVENT_SNAPSHOT_DELETE, snapshotObj.getAccountId(), snapshotObj.getDataCenterId(), snapshotId, + snapshotObj.getName(), null, null, 0L, snapshotObj.getClass().getName(), snapshotObj.getUuid()); } catch (Exception e) { s_logger.debug("Failed to delete snapshot: ", e); diff --git a/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java b/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java index 2c7b4a0bf498..a3744eeef9ed 100644 --- a/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java +++ b/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java @@ -360,7 +360,7 @@ public Snapshot createSnapshot(Long volumeId, Long policyId, Long snapshotId, Ac } @Override - public Snapshot backupSnapshot(Long snapshotId) { + public Snapshot backupSnapshot(Long snapshotId) { // IR24 SnapshotInfo snapshot = snapshotFactory.getSnapshot(snapshotId, DataStoreRole.Image); if (snapshot != null) { throw new CloudRuntimeException("Already in the backup snapshot:" + snapshotId);