Skip to content

Commit ec2be87

Browse files
committed
Delete snapshot on failure
Delete the snapshot if there is a problem with the agent host
1 parent 446a535 commit ec2be87

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolPrimaryDataStoreDriver.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -607,16 +607,12 @@ public void copyAsync(DataObject srcData, DataObject dstData, AsyncCompletionCal
607607
// if error during snapshot backup, cleanup the StorPool snapshot
608608
if (answer != null && !answer.getResult()) {
609609
StorPoolUtil.spLog(String.format("Error while backing-up snapshot '%s' - cleaning up StorPool snapshot. Error: %s", snapName, answer.getDetails()));
610-
SpApiResponse resp = StorPoolUtil.snapshotDelete(snapName, conn);
611-
if (resp.getError() != null) {
612-
final String err2 = String.format("Failed to cleanup StorPool snapshot '%s'. Error: %s.", snapName, resp.getError());
613-
log.error(err2);
614-
StorPoolUtil.spLog(err2);
615-
}
610+
deleteSnapshot(snapName, conn);
616611
}
617612
}
618613
} catch (CloudRuntimeException e) {
619614
err = e.getMessage();
615+
deleteSnapshot(snapName, conn);
620616
}
621617
}
622618
} else if (srcType == DataObjectType.VOLUME && dstType == DataObjectType.TEMPLATE) {
@@ -903,6 +899,16 @@ public void copyAsync(DataObject srcData, DataObject dstData, AsyncCompletionCal
903899
callback.complete(res);
904900
}
905901

902+
private static void deleteSnapshot(String snapName, SpConnectionDesc conn) {
903+
904+
SpApiResponse resp = StorPoolUtil.snapshotDelete(snapName, conn);
905+
if (resp.getError() != null) {
906+
final String err2 = String.format("Failed to cleanup StorPool snapshot '%s'. Error: %s.", snapName, resp.getError());
907+
log.error(err2);
908+
StorPoolUtil.spLog(err2);
909+
}
910+
}
911+
906912
private Answer createVolumeSnapshot(StorageSubSystemCommand cmd, Long size, SpConnectionDesc conn,
907913
String volName, TemplateObjectTO dstTO) {
908914
Answer answer;

0 commit comments

Comments
 (0)