diff --git a/cinder/exception.py b/cinder/exception.py index 0ed4e08d53d..d7bb818d9b3 100644 --- a/cinder/exception.py +++ b/cinder/exception.py @@ -727,6 +727,10 @@ class GlanceMetadataNotFound(NotFound): message = _("Glance metadata for volume/snapshot %(id)s cannot be found.") +class ImageDownloadFailed(CinderException): + _msg_fmt = _("Failed to download image %(image_href)s, reason: %(reason)s") + + class ExportFailure(Invalid): message = _("Failed to export for volume: %(reason)s") diff --git a/cinder/image/glance.py b/cinder/image/glance.py index 476ca7f8552..ff6c1bc3101 100644 --- a/cinder/image/glance.py +++ b/cinder/image/glance.py @@ -357,6 +357,10 @@ class GlanceImageService(object): except Exception: _reraise_translated_image_exception(image_id) + if image_chunks is None: + raise exception.ImageDownloadFailed( + image_href=context, reason=_('image contains no data.')) + if not data: return image_chunks else: