Repository: cloudstack Updated Branches: refs/heads/master 396f29c13 -> 9b783d19a
CLOUDSTACK-7228 Only shrink disk when CLVM is in use. Signed-off-by: SrikanteswaraRao Talluri <tall...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9b783d19 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9b783d19 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9b783d19 Branch: refs/heads/master Commit: 9b783d19ad7e784d3751f4eaa2a672401d122a01 Parents: 396f29c Author: John Dilley <john.dil...@citrix.com> Authored: Thu Aug 14 10:38:08 2014 +0000 Committer: SrikanteswaraRao Talluri <tall...@apache.org> Committed: Wed Sep 3 12:30:59 2014 +0530 ---------------------------------------------------------------------- test/integration/smoke/test_volumes.py | 79 +++++++++++++++++------------ 1 file changed, 47 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b783d19/test/integration/smoke/test_volumes.py ---------------------------------------------------------------------- diff --git a/test/integration/smoke/test_volumes.py b/test/integration/smoke/test_volumes.py index 579b0ae..bc0dcbb 100644 --- a/test/integration/smoke/test_volumes.py +++ b/test/integration/smoke/test_volumes.py @@ -30,7 +30,8 @@ from marvin.lib.base import (ServiceOffering, Account, Volume, Host, - DiskOffering) + DiskOffering, + StoragePool) from marvin.lib.common import (get_domain, get_zone, get_template) @@ -660,41 +661,55 @@ class TestVolumes(cloudstackTestCase): "Check if the data volume resized appropriately" ) - self.services["disk_offering"]["disksize"] = 10 - disk_offering_10_GB = DiskOffering.create( - self.apiclient, - self.services["disk_offering"] - ) - self.cleanup.append(disk_offering_10_GB) + can_shrink = False - cmd = resizeVolume.resizeVolumeCmd() - cmd.id = self.volume.id - cmd.diskofferingid = disk_offering_10_GB.id - cmd.shrinkok = "true" + list_volume_response = Volume.list( + self.apiClient, + id=self.volume.id, + type='DATADISK' + ) + storage_pool_id = [x.storageid for x in list_volume_response if x.id == self.volume.id][0] + storage = StoragePool.list(self.apiclient, id=storage_pool_id)[0] + # At present only CLVM supports shrinking volumes + if storage.type.lower() == "clvm": + can_shrink = True + + if can_shrink: + self.services["disk_offering"]["disksize"] = 10 + disk_offering_10_GB = DiskOffering.create( + self.apiclient, + self.services["disk_offering"] + ) + self.cleanup.append(disk_offering_10_GB) - self.apiClient.resizeVolume(cmd) + cmd = resizeVolume.resizeVolumeCmd() + cmd.id = self.volume.id + cmd.diskofferingid = disk_offering_10_GB.id + cmd.shrinkok = "true" - count = 0 - success = False - while count < 3: - list_volume_response = Volume.list( - self.apiClient, - id=self.volume.id - ) - for vol in list_volume_response: - if vol.id == self.volume.id and int(vol.size) == (int(disk_offering_10_GB.disksize) * (1024 ** 3)) and vol.state == 'Ready': - success = True - if success: - break - else: - time.sleep(10) - count += 1 + self.apiClient.resizeVolume(cmd) - self.assertEqual( - success, - True, - "Check if the root volume resized appropriately" - ) + count = 0 + success = False + while count < 3: + list_volume_response = Volume.list( + self.apiClient, + id=self.volume.id + ) + for vol in list_volume_response: + if vol.id == self.volume.id and int(vol.size) == (int(disk_offering_10_GB.disksize) * (1024 ** 3)) and vol.state == 'Ready': + success = True + if success: + break + else: + time.sleep(10) + count += 1 + + self.assertEqual( + success, + True, + "Check if the root volume resized appropriately" + ) #start the vm if it is on xenserver