diff --git a/cinder/image/image_utils.py b/cinder/image/image_utils.py index 4c47b57775c..cbf62a4db60 100644 --- a/cinder/image/image_utils.py +++ b/cinder/image/image_utils.py @@ -292,7 +292,7 @@ def fetch_to_volume_format(context, image_service, LOG.debug('Copying image from %(tmp)s to volume %(dest)s - ' 'size: %(size)s', {'tmp': tmp, 'dest': dest, 'size': image_meta['size']}) - image_size_m = math.ceil(image_meta['size'] / units.Mi) + image_size_m = math.ceil(float(image_meta['size']) / units.Mi) volume_utils.copy_volume(tmp, dest, image_size_m, blocksize) return diff --git a/cinder/tests/unit/test_image_utils.py b/cinder/tests/unit/test_image_utils.py index 398bd28ae41..c8c4df36195 100644 --- a/cinder/tests/unit/test_image_utils.py +++ b/cinder/tests/unit/test_image_utils.py @@ -795,7 +795,7 @@ class TestFetchToVolumeFormat(test.TestCase): tmp = mock_temp.return_value.__enter__.return_value image_service.show.return_value = {'disk_format': 'raw', 'size': 41126400} - image_size_m = math.ceil(41126400 / units.Mi) + image_size_m = math.ceil(float(41126400) / units.Mi) output = image_utils.fetch_to_volume_format( ctxt, image_service, image_id, dest, volume_format, blocksize,