cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kishan Kavala (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (CLOUDSTACK-643) KVM snapshots deleted on UI/API do not physically delete from secondary storage
Date Thu, 07 Mar 2013 06:52:12 GMT

     [ https://issues.apache.org/jira/browse/CLOUDSTACK-643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Kishan Kavala reassigned CLOUDSTACK-643:
----------------------------------------

    Assignee: Nitin Mehta  (was: Kishan Kavala)
    
> KVM snapshots deleted on UI/API do not physically delete from secondary storage
> -------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-643
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-643
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: KVM, Snapshot
>    Affects Versions: 4.0.0, 4.1.0
>            Reporter: Prasanna Santhanam
>            Assignee: Nitin Mehta
>             Fix For: 4.0.2, 4.1.0
>
>
> 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()) {
>                     filename = "*";
>                 } else {
>                     filename = "*" + name + "*";
>                 }
>                 String lPath = parent + "/snapshots/" + String.valueOf(accountId) + "/"
+ String.valueOf(volumeId) + "/" + filename;
>                 String result = deleteLocalFile(lPath);
>                 if (result != null) {
>                     String errMsg = "failed to delete snapshot " + lPath + " , err="
+ result;
>                     s_logger.warn(errMsg);
>                     return new Answer(cmd, false, errMsg);
>                 }
>             } else {
>                     #### SNIP ####
>              }
>             return new Answer(cmd, true, "success");
>         } catch (Exception e) {
>         }
>     }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message