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 2012/09/26 20:49:55 UTC

git commit: find local storage based on name label

Updated Branches:
  refs/heads/4.0 995bab603 -> 47671b9dc


find local storage based on name label


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/47671b9d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/47671b9d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/47671b9d

Branch: refs/heads/4.0
Commit: 47671b9dc67f03e35312a6441cc256c60985f07e
Parents: 995bab6
Author: Edison Su <su...@gmail.com>
Authored: Wed Sep 26 11:49:34 2012 -0700
Committer: Edison Su <su...@gmail.com>
Committed: Wed Sep 26 11:49:44 2012 -0700

----------------------------------------------------------------------
 .../hypervisor/xen/resource/XcpOssResource.java    |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/47671b9d/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XcpOssResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XcpOssResource.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XcpOssResource.java
index 0a10647..d22c8b5 100644
--- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XcpOssResource.java
+++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XcpOssResource.java
@@ -20,6 +20,7 @@ package com.cloud.hypervisor.xen.resource;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import javax.ejb.Local;
@@ -44,6 +45,7 @@ import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.utils.script.Script;
 import com.cloud.vm.VirtualMachine;
 import com.xensource.xenapi.Connection;
+import com.xensource.xenapi.SR;
 import com.xensource.xenapi.Types;
 import com.xensource.xenapi.VBD;
 import com.xensource.xenapi.VDI;
@@ -82,9 +84,18 @@ public class XcpOssResource extends CitrixResourceBase {
     }
     
     protected VBD createPatchVbd(Connection conn, String vmName, VM vm) throws XmlRpcException, XenAPIException {
-    	if (_host.localSRuuid != null) {
+    	String localStorageUuid = null;
+    	Map<SR, SR.Record> map = SR.getAllRecords(conn);
+    	for (Map.Entry<SR, SR.Record> entry : map.entrySet()) {
+    		SR.Record srRec = entry.getValue();
+    		if (srRec.nameLabel.equalsIgnoreCase("local-storage")) {
+    			localStorageUuid = srRec.uuid;
+    			break;
+    		}
+    	}
+    	if (localStorageUuid != null) {
     		//create an iso vdi on it
-    		String result = callHostPlugin(conn, "vmops", "createISOVHD", "uuid", _host.localSRuuid);
+    		String result = callHostPlugin(conn, "vmops", "createISOVHD", "uuid", localStorageUuid);
     		if (result == null || result.equalsIgnoreCase("Failed")) {
     			 throw new CloudRuntimeException("can not create systemvm vdi");
     		}