diff --git a/oslo_utils/imageutils.py b/oslo_utils/imageutils.py index c63314a4..b829abd6 100644 --- a/oslo_utils/imageutils.py +++ b/oslo_utils/imageutils.py @@ -92,7 +92,7 @@ class QemuImgInfo(object): real_details = backing_match.group(2).strip() elif root_cmd in ['virtual_size', 'cluster_size', 'disk_size']: # Replace it with the byte amount (if we can convert it) - if root_details == 'None': + if root_details in ('None', 'unavailable'): real_details = 0 else: real_details = self._extract_bytes(root_details) diff --git a/oslo_utils/tests/test_imageutils.py b/oslo_utils/tests/test_imageutils.py index cb8b356d..5c328fe4 100644 --- a/oslo_utils/tests/test_imageutils.py +++ b/oslo_utils/tests/test_imageutils.py @@ -51,10 +51,12 @@ class ImageUtilsRawTestCase(test_base.BaseTestCase): _disk_size = [ ('96K', dict(disk_size='96K', exp_disk_size=98304)), - ('96K_byte', dict(disk_size='963434', - exp_disk_size=963434)), - ('3.1M', dict(disk_size='3.1G', + ('96K_byte', dict(disk_size='98304', + exp_disk_size=98304)), + ('3.1G', dict(disk_size='3.1G', exp_disk_size=3328599655)), + ('unavailable', dict(disk_size='unavailable', + exp_disk_size=0)), ] _garbage_before_snapshot = [