You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ed...@apache.org on 2013/06/15 03:15:54 UTC
git commit: updated refs/heads/object_store to c4267b5
Updated Branches:
refs/heads/object_store 34f653845 -> c4267b546
CLOUDSTACK-2973: fix detach iso
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c4267b54
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c4267b54
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c4267b54
Branch: refs/heads/object_store
Commit: c4267b546f2bde8c0b32f13eea984896625ed269
Parents: 34f6538
Author: Edison Su <su...@gmail.com>
Authored: Fri Jun 14 18:15:20 2013 -0700
Committer: Edison Su <su...@gmail.com>
Committed: Fri Jun 14 18:15:20 2013 -0700
----------------------------------------------------------------------
.../kvm/storage/KVMStorageProcessor.java | 29 ++++++++++++++++----
1 file changed, 23 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c4267b54/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
index 62208a5..8dce094 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
@@ -560,6 +560,29 @@ public class KVMStorageProcessor implements StorageProcessor {
return new Answer(cmd);
}
+ @Override
+ public Answer dettachIso(DettachCommand cmd) {
+ DiskTO disk = cmd.getDisk();
+ TemplateObjectTO isoTO = (TemplateObjectTO) disk.getData();
+ DataStoreTO store = isoTO.getDataStore();
+ if (!(store instanceof NfsTO)) {
+ return new AttachAnswer("unsupported protocol");
+ }
+ NfsTO nfsStore = (NfsTO) store;
+ try {
+ Connect conn = LibvirtConnection.getConnectionByVmName(cmd.getVmName());
+ attachOrDetachISO(conn, cmd.getVmName(), nfsStore.getUrl() + File.separator + isoTO.getPath(), false);
+ } catch (LibvirtException e) {
+ return new Answer(cmd, false, e.toString());
+ } catch (URISyntaxException e) {
+ return new Answer(cmd, false, e.toString());
+ } catch (InternalErrorException e) {
+ return new Answer(cmd, false, e.toString());
+ }
+
+ return new Answer(cmd);
+ }
+
protected synchronized String attachOrDetachDevice(Connect conn, boolean attach, String vmName, String xml)
throws LibvirtException, InternalErrorException {
Domain dm = null;
@@ -659,12 +682,6 @@ public class KVMStorageProcessor implements StorageProcessor {
}
@Override
- public Answer dettachIso(DettachCommand cmd) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
public Answer dettachVolume(DettachCommand cmd) {
DiskTO disk = cmd.getDisk();
VolumeObjectTO vol = (VolumeObjectTO) disk.getData();