Updated Branches:
  refs/heads/master e58bef22c -> 9fc471ddd

CLOUDSTACK-4551: Migrating the data volume from NFS to local storage 
,underlying disk offering is not changed.
Even though the volume may get migrated from shared to local storage, it is not 
possible to update the disk offering.
The fix is to disallow migration from shared to local store.


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

Branch: refs/heads/master
Commit: 9fc471dddd48983919392f6a238b45fac824c50b
Parents: e58bef2
Author: Koushik Das <[email protected]>
Authored: Thu Oct 17 15:56:33 2013 +0530
Committer: Koushik Das <[email protected]>
Committed: Thu Oct 17 15:56:33 2013 +0530

----------------------------------------------------------------------
 server/src/com/cloud/storage/VolumeApiServiceImpl.java | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9fc471dd/server/src/com/cloud/storage/VolumeApiServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/VolumeApiServiceImpl.java 
b/server/src/com/cloud/storage/VolumeApiServiceImpl.java
index 2a058bf..00df333 100644
--- a/server/src/com/cloud/storage/VolumeApiServiceImpl.java
+++ b/server/src/com/cloud/storage/VolumeApiServiceImpl.java
@@ -1309,7 +1309,11 @@ public class VolumeApiServiceImpl extends ManagerBase 
implements VolumeApiServic
             throw new InvalidParameterValueException("Failed to find the 
destination storage pool: " + storagePoolId);
         }
 
-        if (!_volumeMgr.volumeOnSharedStoragePool(vol)) {
+        if (_volumeMgr.volumeOnSharedStoragePool(vol)) {
+            if (destPool.isLocal()) {
+                throw new InvalidParameterValueException("Migration of volume 
from shared to local storage pool is not supported");
+            }
+        } else {
             throw new InvalidParameterValueException("Migration of volume from 
local storage pool is not supported");
         }
 
@@ -1320,7 +1324,7 @@ public class VolumeApiServiceImpl extends ManagerBase 
implements VolumeApiServic
             try {
                 newVol = _volumeMgr.migrateVolume(vol, destPool);
             } catch (StorageUnavailableException e) {
-               s_logger.debug("Failed to migrate volume", e);
+                s_logger.debug("Failed to migrate volume", e);
             }
         }
         return newVol;

Reply via email to