Return-Path: X-Original-To: apmail-cloudstack-commits-archive@www.apache.org Delivered-To: apmail-cloudstack-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E80A4106EA for ; Thu, 20 Jun 2013 07:20:13 +0000 (UTC) Received: (qmail 97534 invoked by uid 500); 20 Jun 2013 07:19:54 -0000 Delivered-To: apmail-cloudstack-commits-archive@cloudstack.apache.org Received: (qmail 97449 invoked by uid 500); 20 Jun 2013 07:19:50 -0000 Mailing-List: contact commits-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list commits@cloudstack.apache.org Received: (qmail 96542 invoked by uid 99); 20 Jun 2013 07:19:36 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Jun 2013 07:19:36 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 92F8982D3E3; Thu, 20 Jun 2013 07:19:36 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: edison@apache.org To: commits@cloudstack.apache.org Date: Thu, 20 Jun 2013 07:20:08 -0000 Message-Id: <92e76b301f634da29c9f2cedb72bee1a@git.apache.org> In-Reply-To: <49db77c888b9494890a5e9e03891b9c0@git.apache.org> References: <49db77c888b9494890a5e9e03891b9c0@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [35/50] [abbrv] git commit: updated refs/heads/master to 97f8c52 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/master Commit: c4267b546f2bde8c0b32f13eea984896625ed269 Parents: 34f6538 Author: Edison Su Authored: Fri Jun 14 18:15:20 2013 -0700 Committer: Edison Su 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();