diff --git a/cinder/tests/unit/volume/drivers/emc/scaleio/test_manage_existing.py b/cinder/tests/unit/volume/drivers/emc/scaleio/test_manage_existing.py index 42ba1d0a1e5..bf00cc49ed6 100644 --- a/cinder/tests/unit/volume/drivers/emc/scaleio/test_manage_existing.py +++ b/cinder/tests/unit/volume/drivers/emc/scaleio/test_manage_existing.py @@ -48,7 +48,7 @@ class TestManageExisting(scaleio.TestScaleIODriver): 'instances/Volume::' + self.volume['provider_id']: mocks.MockHTTPSResponse({ 'id': fake.PROVIDER_ID, - 'sizeInKb': 8388608, + 'sizeInKb': 8000000, 'mappedSdcInfo': None }, 200) }, diff --git a/cinder/tests/unit/volume/drivers/emc/scaleio/test_manage_existing_snapshot.py b/cinder/tests/unit/volume/drivers/emc/scaleio/test_manage_existing_snapshot.py index 33521bcebe0..26adc8d41fa 100644 --- a/cinder/tests/unit/volume/drivers/emc/scaleio/test_manage_existing_snapshot.py +++ b/cinder/tests/unit/volume/drivers/emc/scaleio/test_manage_existing_snapshot.py @@ -58,7 +58,7 @@ class TestManageExistingSnapshot(scaleio.TestScaleIODriver): 'instances/Volume::' + self.snapshot['provider_id']: mocks.MockHTTPSResponse({ 'id': fake.PROVIDER2_ID, - 'sizeInKb': 8388608, + 'sizeInKb': 8000000, 'mappedSdcInfo': None, 'ancestorVolumeId': fake.PROVIDER_ID }, 200), diff --git a/cinder/volume/drivers/emc/scaleio.py b/cinder/volume/drivers/emc/scaleio.py index ec5a092c24a..b3e78eb201b 100644 --- a/cinder/volume/drivers/emc/scaleio.py +++ b/cinder/volume/drivers/emc/scaleio.py @@ -19,6 +19,7 @@ Driver for EMC ScaleIO based on ScaleIO remote CLI. import base64 import binascii import json +import math from os_brick.initiator import connector from oslo_config import cfg @@ -1132,7 +1133,7 @@ class ScaleIODriver(driver.VolumeDriver): def _get_volume_size(self, volume, existing_ref): response = self._query_scaleio_volume(volume, existing_ref) - return int(response['sizeInKb'] / units.Mi) + return int(math.ceil(float(response['sizeInKb']) / units.Mi)) def _execute_scaleio_get_request(self, request): r = requests.get(