mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
* Live storage migration of volume in scaleIO within same storage scaleio cluster * Added migrate command * Recent changes of migration across clusters * Fixed uuid * recent changes * Pivot changes * working blockcopy api in libvirt * Checking block copy status * Formatting code * Fixed failures * code refactoring and some changes * Removed unused methods * removed unused imports * Unit tests to check if volume belongs to same or different storage scaleio cluster * Unit tests for volume livemigration in ScaleIOPrimaryDataStoreDriver * Fixed offline volume migration case and allowed encrypted volume migration * Added more integration tests * Support for migration of encrypted volumes across different scaleio clusters * Fix UI notifications for migrate volume * Data volume offline migration: save encryption details to destination volume entry * Offline storage migration for scaleio encrypted volumes * Allow multiple Volumes to be migrated with migrateVirtualMachineWithVolume API * Removed unused unittests * Removed duplicate keys in migrate volume vue file * Fix Unit tests * Add volume secrets if does not exists during volume migrations. secrets are getting cleared on package upgrades. * Fix secret UUID for encrypted volume migration * Added a null check for secret before removing * Added more unit tests * Fixed passphrase check * Add image options to the encypted volume conversion
PowerFlex/ScaleIO storage plugin
================================== This directory contains the basic VM, Volume life cycle tests for PowerFlex/ScaleIO storage pool (in KVM hypervisor).
Running tests
=============== To run the basic volume tests, first update the below test data of the CloudStack environment
TestData.zoneId: <id of zone>
TestData.clusterId: <id of cluster>
TestData.domainId: <id of domain>
TestData.url: <management server IP>
TestData.primaryStorage "url": <PowerFlex/ScaleIO storage pool url (see the format below) to use as primary storage>
and to enable and run volume migration tests, update the below test data
TestData.migrationTests: True
TestData.primaryStorageSameInstance "url": <PowerFlex/ScaleIO storage pool url (see the format below) of the pool on same storage cluster as TestData.primaryStorage>
TestData.primaryStorageDistinctInstance "url": <PowerFlex/ScaleIO storage pool url (see the format below) of the pool not on the same storage cluster as TestData.primaryStorage>
PowerFlex/ScaleIO storage pool url format:
powerflex://<api_user>:<api_password>@<gateway>/<storagepool>
where,
- <api_user> : user name for API access
- <api_password> : url-encoded password for API access
- <gateway> : scaleio gateway host
- <storagepool> : storage pool name (case sensitive)
For example: "powerflex://admin:P%40ssword123@10.10.2.130/cspool"
Then run the tests using python unittest runner: nosetests
nosetests --with-marvin --marvin-config=<marvin-cfg-file> <cloudstack-dir>/test/integration/plugins/scaleio/test_scaleio_volumes.py --zone=<zone> --hypervisor=kvm
You can also run these tests out of the box with PyDev or PyCharm or whatever.