From fabcadd1aab15d664471a05476cd9652235cb02d Mon Sep 17 00:00:00 2001 From: SadiJr Date: Tue, 25 Jan 2022 10:12:05 -0300 Subject: [PATCH 1/3] Fix Usage event when a volume in allocated state is deleted via API deleteVolume --- .../src/main/java/com/cloud/storage/VolumeApiServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java index 345e83f5c108..aca2a19269a2 100644 --- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java @@ -312,7 +312,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic private long _maxVolumeSizeInGb; private final StateMachine2 _volStateMachine; - private static final Set STATES_VOLUME_CANNOT_BE_DESTROYED = new HashSet<>(Arrays.asList(Volume.State.Destroy, Volume.State.Expunging, Volume.State.Expunged, Volume.State.Allocated)); + private static final Set STATES_VOLUME_CANNOT_BE_DESTROYED = new HashSet<>(Arrays.asList(Volume.State.Destroy, Volume.State.Expunging, Volume.State.Expunged)); protected VolumeApiServiceImpl() { _volStateMachine = Volume.State.getStateMachine(); From 2a84f52ebadaabfdcc068526d25031dc161aaab7 Mon Sep 17 00:00:00 2001 From: SadiJr Date: Tue, 8 Feb 2022 15:56:26 -0300 Subject: [PATCH 2/3] Address reviews --- .../src/main/java/com/cloud/storage/VolumeApiServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java index bfc7c33840e5..6a5a73abef8b 100644 --- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java @@ -328,7 +328,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic private final StateMachine2 _volStateMachine; private static final long GiB_TO_BYTES = 1024 * 1024 * 1024; - private static final Set STATES_VOLUME_CANNOT_BE_DESTROYED = new HashSet<>(Arrays.asList(Volume.State.Destroy, Volume.State.Expunging, Volume.State.Expunged)); + private static final Set STATES_VOLUME_CANNOT_BE_DESTROYED = new HashSet<>(Arrays.asList(Volume.State.Destroy, Volume.State.Expunging, Volume.State.Expunged, Volume.State.Allocated)); protected VolumeApiServiceImpl() { _volStateMachine = Volume.State.getStateMachine(); @@ -1575,6 +1575,7 @@ public Volume destroyVolume(long volumeId, Account caller, boolean expunge, bool _volsDao.remove(volume.getId()); try { stateTransitTo(volume, Volume.Event.DestroyRequested); + stateTransitTo(volume, Volume.Event.OperationSucceeded); } catch (NoTransitionException e) { s_logger.debug("Failed to destroy volume" + volume.getId(), e); return null; From c98b9eb0b4bd34f7022d767c64759db5fd4015f2 Mon Sep 17 00:00:00 2001 From: SadiJr Date: Mon, 14 Feb 2022 14:51:12 -0300 Subject: [PATCH 3/3] Reverse order of changed lines --- .../src/main/java/com/cloud/storage/VolumeApiServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java index 6a5a73abef8b..25744b10bc5c 100644 --- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java @@ -327,8 +327,8 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic private long _maxVolumeSizeInGb; private final StateMachine2 _volStateMachine; - private static final long GiB_TO_BYTES = 1024 * 1024 * 1024; private static final Set STATES_VOLUME_CANNOT_BE_DESTROYED = new HashSet<>(Arrays.asList(Volume.State.Destroy, Volume.State.Expunging, Volume.State.Expunged, Volume.State.Allocated)); + private static final long GiB_TO_BYTES = 1024 * 1024 * 1024; protected VolumeApiServiceImpl() { _volStateMachine = Volume.State.getStateMachine();