You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by an...@apache.org on 2013/08/28 02:09:37 UTC

[1/2] git commit: updated refs/heads/4.2 to f2c8469

Updated Branches:
  refs/heads/4.2 2fdfd66f6 -> f2c8469c5


CLOUDSTACK-4529: use property collector to collect all information in one round
(cherry picked from commit 687e87faa7a2d828fa428ac0b013e0c1de361bdc)

Signed-off-by: animesh <an...@apache.org>


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

Branch: refs/heads/4.2
Commit: a1fd39faeef0de12e0ca52f28002796c21c5d6c7
Parents: 2fdfd66
Author: Kelven Yang <ke...@gmail.com>
Authored: Tue Aug 27 15:04:17 2013 -0700
Committer: animesh <an...@apache.org>
Committed: Tue Aug 27 16:57:05 2013 -0700

----------------------------------------------------------------------
 .../src/com/cloud/hypervisor/vmware/mo/HostMO.java  | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a1fd39fa/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java
----------------------------------------------------------------------
diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java
index c0ef217..49a340c 100755
--- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java
@@ -35,6 +35,7 @@ import com.vmware.vim25.AboutInfo;
 import com.vmware.vim25.AlreadyExistsFaultMsg;
 import com.vmware.vim25.ClusterDasConfigInfo;
 import com.vmware.vim25.ComputeResourceSummary;
+import com.vmware.vim25.CustomFieldStringValue;
 import com.vmware.vim25.DatastoreSummary;
 import com.vmware.vim25.DynamicProperty;
 import com.vmware.vim25.HostConfigManager;
@@ -577,8 +578,14 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
 	}
 
 	public HashMap<String, Integer> getVmVncPortsOnHost() throws Exception {
+		
+		int key = getCustomFieldKey("VirtualMachine", CustomFieldConstants.CLOUD_VM_INTERNAL_NAME);
+		if(key == 0) {
+			s_logger.warn("Custom field " + CustomFieldConstants.CLOUD_VM_INTERNAL_NAME + " is not registered ?!");
+		}
+		
     	ObjectContent[] ocs = getVmPropertiesOnHyperHost(
-            new String[] { "name", "config.extraConfig[\"RemoteDisplay.vnc.port\"]" }
+            new String[] { "name", "config.extraConfig[\"RemoteDisplay.vnc.port\"]", "value[" + key + "]" }
             );
 
         HashMap<String, Integer> portInfo = new HashMap<String, Integer>();
@@ -592,14 +599,15 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
 		        	for(DynamicProperty objProp : objProps) {
 		        		if(objProp.getName().equals("name")) {
 		                    vmName = (String)objProp.getVal();
+		                } else if(objProp.getName().startsWith("value[")) {
+		                	if(objProp.getVal() != null)
+		                		vmInternalCSName = ((CustomFieldStringValue)objProp.getVal()).getValue();
 		                } else {
 		                    OptionValue optValue = (OptionValue)objProp.getVal();
 		                    value = (String)optValue.getValue();
 		                }
 		            }
-		            VirtualMachineMO vmMo = new VirtualMachineMO(_context, oc.getObj());
-                    // Check if vmMo has the custom property CLOUD_VM_INTERNAL_NAME set.
-                    vmInternalCSName =  vmMo.getCustomFieldValue(CustomFieldConstants.CLOUD_VM_INTERNAL_NAME);
+		        	
 	                if (vmInternalCSName != null && isUserVMInternalCSName(vmInternalCSName))
 	                    vmName = vmInternalCSName;
 


[2/2] git commit: updated refs/heads/4.2 to f2c8469

Posted by an...@apache.org.
CLOUDSTACK-4518: make folder sync resilience with possible runtime situation
(cherry picked from commit 8326dfb76f3072dab63243ef2cd62fa3e7b7c688)

Signed-off-by: animesh <an...@apache.org>


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

Branch: refs/heads/4.2
Commit: f2c8469c599a262150a2ed8638a32ff78319ddac
Parents: a1fd39f
Author: Kelven Yang <ke...@gmail.com>
Authored: Tue Aug 27 16:28:16 2013 -0700
Committer: animesh <an...@apache.org>
Committed: Tue Aug 27 16:57:24 2013 -0700

----------------------------------------------------------------------
 .../storage/resource/VmwareStorageLayoutHelper.java      | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f2c8469c/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageLayoutHelper.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageLayoutHelper.java b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageLayoutHelper.java
index c61f15e..d60abad 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageLayoutHelper.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageLayoutHelper.java
@@ -129,17 +129,20 @@ public class VmwareStorageLayoutHelper {
                 vmdkLinkedCloneModePair[1], dcMo.getMor(), true);
 		}
 		
-		s_logger.info("sync " + vmdkLinkedCloneModeLegacyPair[0] + "->" + vmdkLinkedCloneModePair[0]);
-		ds.moveDatastoreFile(vmdkLinkedCloneModeLegacyPair[0], dcMo.getMor(), ds.getMor(), 
-            vmdkLinkedCloneModePair[0], dcMo.getMor(), true);
+		if(ds.fileExists(vmdkLinkedCloneModeLegacyPair[0])) {
+			s_logger.info("sync " + vmdkLinkedCloneModeLegacyPair[0] + "->" + vmdkLinkedCloneModePair[0]);
+			ds.moveDatastoreFile(vmdkLinkedCloneModeLegacyPair[0], dcMo.getMor(), ds.getMor(), 
+	            vmdkLinkedCloneModePair[0], dcMo.getMor(), true);
+		}
 		
+		// Note: we will always return a path
 		return vmdkLinkedCloneModePair[0];
     }
     
     public static void syncVolumeToRootFolder(DatacenterMO dcMo, DatastoreMO ds, String vmdkName) throws Exception {
     	String fileDsFullPath = ds.searchFileInSubFolders(vmdkName + ".vmdk", false);
     	if(fileDsFullPath == null)
-    		throw new Exception("Unable to find " + vmdkName + ".vmdk in datastore: " + ds.getName());
+    		return;
 
     	DatastoreFile srcDsFile = new DatastoreFile(fileDsFullPath);
     	String companionFilePath = srcDsFile.getCompanionPath(vmdkName + "-flat.vmdk");