Merge pull request #1671 from mike-tutkowski/copy-vol-migration Adding support for cross-cluster storage migration for managed storage when using XenServerThis PR adds support for cross-cluster storage migration of VMs that make use of managed storage with XenServer.
Managed storage is when you have a 1:1 mapping between a virtual disk and a volume on a SAN (in the case of XenServer, an SR is placed on this SAN volume and a single virtual disk placed in the SR). Managed storage allows features such as storage QoS and SAN-side snapshots to work (sort of analogous to VMware VVols). This PR focuses on enabling VMs that are using managed storage to be migrated across XenServer clusters. I have successfully run the following tests on this branch: TestVolumes.py TestSnapshots.py TestVMSnapshots.py TestAddRemoveHosts.py TestVMMigrationWithStorage.py (which is a new test that is being added with this PR) * pr/1671: Adding support for cross-cluster storage migration for managed storage when using XenServer Signed-off-by: Rajani Karuturi <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f21477a1 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f21477a1 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f21477a1 Branch: refs/heads/master Commit: f21477a1787703e27ca36999241f411fc52b4951 Parents: f31d2dd b508fb8 Author: Rajani Karuturi <[email protected]> Authored: Tue Sep 13 17:40:12 2016 +0530 Committer: Rajani Karuturi <[email protected]> Committed: Tue Sep 13 17:40:12 2016 +0530 ---------------------------------------------------------------------- api/src/com/cloud/storage/StoragePool.java | 2 + .../api/MigrateWithStorageReceiveCommand.java | 11 +- .../agent/test/BackupSnapshotCommandTest.java | 3 + .../api/agent/test/CheckNetworkAnswerTest.java | 3 + .../api/agent/test/SnapshotCommandTest.java | 3 + .../api/storage/PrimaryDataStoreDriver.java | 7 + .../com/cloud/vm/VirtualMachineManagerImpl.java | 88 ++- .../storage/datastore/db/StoragePoolVO.java | 1 + ...MigrateWithStorageReceiveCommandWrapper.java | 13 +- .../CitrixCreateStoragePoolCommandWrapper.java | 31 +- .../CitrixDeleteStoragePoolCommandWrapper.java | 30 +- .../motion/XenServerStorageMotionStrategy.java | 222 +++++- .../xenbase/XenServer610WrapperTest.java | 6 +- .../driver/SolidFirePrimaryDataStoreDriver.java | 190 ++++- .../com/cloud/server/ManagementServerImpl.java | 23 +- .../plugins/solidfire/TestAddRemoveHosts.py | 58 +- .../plugins/solidfire/TestSnapshots.py | 580 +++++++++++---- .../solidfire/TestVMMigrationWithStorage.py | 697 +++++++++++++++++++ .../plugins/solidfire/TestVMSnapshots.py | 74 +- .../plugins/solidfire/TestVolumes.py | 548 +++++---------- .../plugins/solidfire/util/sf_util.py | 217 ++++++ 21 files changed, 2083 insertions(+), 724 deletions(-) ----------------------------------------------------------------------
