summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/tests/test_imagecache.py3
-rw-r--r--nova/virt/libvirt/imagecache.py7
2 files changed, 8 insertions, 2 deletions
diff --git a/nova/tests/test_imagecache.py b/nova/tests/test_imagecache.py
index c748abbae..09f5f9fce 100644
--- a/nova/tests/test_imagecache.py
+++ b/nova/tests/test_imagecache.py
@@ -660,6 +660,9 @@ class ImageCacheManagerTestCase(test.TestCase):
fq_path('%s_10737418240' % hashed_1)]:
self.assertTrue(rem in image_cache_manager.removable_base_files)
+ # Ensure there are no "corrupt" images as well
+ self.assertTrue(len(image_cache_manager.corrupt_base_files), 0)
+
def test_verify_base_images_no_base(self):
self.flags(instances_path='/tmp/no/such/dir/name/please')
image_cache_manager = imagecache.ImageCacheManager()
diff --git a/nova/virt/libvirt/imagecache.py b/nova/virt/libvirt/imagecache.py
index 25455a07c..07bab5cd3 100644
--- a/nova/virt/libvirt/imagecache.py
+++ b/nova/virt/libvirt/imagecache.py
@@ -303,8 +303,11 @@ class ImageCacheManager(object):
if (base_file and os.path.exists(base_file)
and os.path.isfile(base_file)):
- # _verify_checksum returns True if the checksum is ok.
- image_bad = not self._verify_checksum(img_id, base_file)
+ # _verify_checksum returns True if the checksum is ok, and None if
+ # there is no checksum file
+ checksum_result = self._verify_checksum(img_id, base_file)
+ if not checksum_result is None:
+ image_bad = not checksum_result
instances = []
if img_id in self.used_images: