cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From edi...@apache.org
Subject [1/2] git commit: updated refs/heads/master to 9bce985
Date Thu, 08 Aug 2013 02:14:38 GMT
Updated Branches:
  refs/heads/master 82c35e52e -> 9bce985f6


CLOUDSTACK-4109: fix upload volume to s3 for vmware


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

Branch: refs/heads/master
Commit: e851f4a93039afac57f0ff790791cd1bbed624cf
Parents: 82c35e5
Author: Edison Su <sudison@gmail.com>
Authored: Wed Aug 7 18:25:28 2013 -0700
Committer: Edison Su <sudison@gmail.com>
Committed: Wed Aug 7 19:14:18 2013 -0700

----------------------------------------------------------------------
 .../storage/motion/AncientDataMotionStrategy.java       |  2 +-
 .../apache/cloudstack/storage/volume/VolumeObject.java  |  8 ++++++--
 .../resource/VmwareStorageSubsystemCommandHandler.java  | 12 ++++++++++++
 3 files changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e851f4a9/engine/storage/datamotion/src/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java
----------------------------------------------------------------------
diff --git a/engine/storage/datamotion/src/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java
b/engine/storage/datamotion/src/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java
index de7900b..8537a1c 100644
--- a/engine/storage/datamotion/src/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java
+++ b/engine/storage/datamotion/src/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java
@@ -204,7 +204,7 @@ public class AncientDataMotionStrategy implements DataMotionStrategy {
             }
             return answer;
         } catch (Exception e) {
-            s_logger.debug("copy object failed: " + e.toString());
+            s_logger.debug("copy object failed: ", e);
             if (cacheData != null) {
                 cacheMgr.deleteCacheObject(cacheData);
             }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e851f4a9/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java
----------------------------------------------------------------------
diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java
b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java
index 404e3b2..5058dba 100644
--- a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java
+++ b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java
@@ -502,7 +502,9 @@ public class VolumeObject implements VolumeInfo {
                             this.getId());
                     VolumeObjectTO newVol = (VolumeObjectTO) cpyAnswer.getNewData();
                     volStore.setInstallPath(newVol.getPath());
-                    volStore.setSize(newVol.getSize());
+                    if (newVol.getSize() != null) {
+                        volStore.setSize(newVol.getSize());
+                    }
                     this.volumeStoreDao.update(volStore.getId(), volStore);
                 }
             }
@@ -595,7 +597,9 @@ public class VolumeObject implements VolumeInfo {
                             this.getId());
                     VolumeObjectTO newVol = (VolumeObjectTO) cpyAnswer.getNewData();
                     volStore.setInstallPath(newVol.getPath());
-                    volStore.setSize(newVol.getSize());
+                    if (newVol.getSize() != null) {
+                        volStore.setSize(newVol.getSize());
+                    }
                     this.volumeStoreDao.update(volStore.getId(), volStore);
                 }
             }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e851f4a9/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageSubsystemCommandHandler.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageSubsystemCommandHandler.java
b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageSubsystemCommandHandler.java
index 1361515..7d3c888 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageSubsystemCommandHandler.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageSubsystemCommandHandler.java
@@ -30,6 +30,7 @@ import com.cloud.storage.DataStoreRole;
 import org.apache.cloudstack.storage.command.CopyCmdAnswer;
 import org.apache.cloudstack.storage.command.CopyCommand;
 import org.apache.cloudstack.storage.to.SnapshotObjectTO;
+import org.apache.cloudstack.storage.to.VolumeObjectTO;
 
 import java.io.File;
 
@@ -76,6 +77,17 @@ public class VmwareStorageSubsystemCommandHandler extends StorageSubsystemComman
         }
 
         if (srcDataStore.getRole() == DataStoreRole.ImageCache && destDataStore.getRole()
== DataStoreRole.Image) {
+            //need to take extra processing for vmware, such as packing to ova, before sending
to S3
+            if (srcData.getObjectType() == DataObjectType.VOLUME) {
+                NfsTO cacheStore = (NfsTO)srcDataStore;
+                String parentPath = storageResource.getRootDir(cacheStore.getUrl());
+                VolumeObjectTO vol = (VolumeObjectTO)srcData;
+                String path = vol.getPath();
+                int index = path.lastIndexOf(File.separator);
+                String name = path.substring(index + 1);
+                storageManager.createOva(parentPath + File.separator + path, name);
+                vol.setPath(path + File.separator + name + ".ova");
+            }
             needDelegation = true;
         }
 


Mime
View raw message