Details
Description
Snapshots taken on KVM do not delete on secondary storage even after deleting them on the API/UI.
The cmd.getSnapshotUuid() in case of KVM is the complete path to the qcow2 image on secondary storage. But the following concatenation evaluates to an invalid path and subsequent "rm -f" fails quietly returning Answer(success) back to management server.
""
String lPath = parent + "/snapshots/" + String.valueOf(accountId) + "/" + String.valueOf(volumeId) + "/" + filename;
""
On NfsSecondaryStorageResource.java:
protected Answer execute(final DeleteSnapshotBackupCommand cmd) {
String secondaryStorageUrl = cmd.getSecondaryStorageUrl();
Long accountId = cmd.getAccountId();
Long volumeId = cmd.getVolumeId();
String name = cmd.getSnapshotUuid();
try {
if (swift == null) {
String parent = getRootDir(secondaryStorageUrl);
String filename;
if (cmd.isAll())
else
{ filename = "*" + name + "*"; } String lPath = parent + "/snapshots/" + String.valueOf(accountId) + "/" + String.valueOf(volumeId) + "/" + filename;
String result = deleteLocalFile(lPath);
if (result != null)
} else
{ #### SNIP #### } return new Answer(cmd, true, "success");
} catch (Exception e) {
}
}