cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From devd...@apache.org
Subject [3/3] git commit: updated refs/heads/4.4-forward to 98df3e5
Date Fri, 09 May 2014 10:48:59 GMT
CLOUDSTACK-6622: After a volume was live migrated, the destination smb storage path was added
to
the folder column. For an smb share the smb credentials are in the query string of the path.
Before adding the path, smb shares query string should be cleaned up.


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

Branch: refs/heads/4.4-forward
Commit: 98df3e55b93df9f30b5767b20c0a4a6f1336406a
Parents: 4106aa0
Author: Devdeep Singh <devdeep@gmail.com>
Authored: Fri May 9 15:54:56 2014 +0530
Committer: Devdeep Singh <devdeep@gmail.com>
Committed: Fri May 9 15:54:56 2014 +0530

----------------------------------------------------------------------
 .../storage/motion/AncientDataMotionStrategy.java         |  9 ++++++++-
 .../storage/motion/HypervStorageMotionStrategy.java       | 10 +++++++++-
 2 files changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/98df3e55/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 fbdacfa..415a077 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
@@ -63,6 +63,7 @@ import com.cloud.host.Host;
 import com.cloud.storage.DataStoreRole;
 import com.cloud.storage.StoragePool;
 import com.cloud.storage.VolumeVO;
+import com.cloud.storage.Storage.StoragePoolType;
 import com.cloud.storage.dao.VolumeDao;
 import com.cloud.utils.NumbersUtil;
 import com.cloud.utils.db.DB;
@@ -389,10 +390,16 @@ public class AncientDataMotionStrategy implements DataMotionStrategy
{
             VolumeVO volumeVo = volDao.findById(volume.getId());
             Long oldPoolId = volume.getPoolId();
             volumeVo.setPath(((MigrateVolumeAnswer)answer).getVolumePath());
-            volumeVo.setFolder(destPool.getPath());
             volumeVo.setPodId(destPool.getPodId());
             volumeVo.setPoolId(destPool.getId());
             volumeVo.setLastPoolId(oldPoolId);
+            // For SMB, pool credentials are also stored in the uri query string.  We trim
the query string
+            // part  here to make sure the credentials do not get stored in the db unencrypted.
+            String folder = destPool.getPath();
+            if (destPool.getPoolType() == StoragePoolType.SMB && folder != null &&
folder.contains("?")) {
+                folder = folder.substring(0, folder.indexOf("?"));
+            }
+            volumeVo.setFolder(folder);
             volDao.update(volume.getId(), volumeVo);
         }
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/98df3e55/plugins/hypervisors/hyperv/src/org/apache/cloudstack/storage/motion/HypervStorageMotionStrategy.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/hyperv/src/org/apache/cloudstack/storage/motion/HypervStorageMotionStrategy.java
b/plugins/hypervisors/hyperv/src/org/apache/cloudstack/storage/motion/HypervStorageMotionStrategy.java
index 011bd12..8a1c414 100644
--- a/plugins/hypervisors/hyperv/src/org/apache/cloudstack/storage/motion/HypervStorageMotionStrategy.java
+++ b/plugins/hypervisors/hyperv/src/org/apache/cloudstack/storage/motion/HypervStorageMotionStrategy.java
@@ -50,6 +50,7 @@ import com.cloud.host.Host;
 import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import com.cloud.storage.StoragePool;
 import com.cloud.storage.VolumeVO;
+import com.cloud.storage.Storage.StoragePoolType;
 import com.cloud.storage.dao.VolumeDao;
 import com.cloud.utils.Pair;
 import com.cloud.utils.exception.CloudRuntimeException;
@@ -161,10 +162,17 @@ public class HypervStorageMotionStrategy implements DataMotionStrategy
{
                     VolumeVO volumeVO = volDao.findById(volume.getId());
                     Long oldPoolId = volumeVO.getPoolId();
                     volumeVO.setPath(volumeTo.getPath());
-                    volumeVO.setFolder(pool.getPath());
                     volumeVO.setPodId(pool.getPodId());
                     volumeVO.setPoolId(pool.getId());
                     volumeVO.setLastPoolId(oldPoolId);
+                    // For SMB, pool credentials are also stored in the uri query string.
 We trim the query string
+                    // part  here to make sure the credentials do not get stored in the db
unencrypted.
+                    String folder = pool.getPath();
+                    if (pool.getPoolType() == StoragePoolType.SMB && folder != null
&& folder.contains("?")) {
+                        folder = folder.substring(0, folder.indexOf("?"));
+                    }
+                    volumeVO.setFolder(folder);
+
                     volDao.update(volume.getId(), volumeVO);
                     updated = true;
                     break;


Mime
View raw message