diff options
-rw-r--r-- | nova/image/local.py | 11 | ||||
-rw-r--r-- | nova/tests/api/openstack/test_images.py | 9 |
2 files changed, 14 insertions, 6 deletions
diff --git a/nova/image/local.py b/nova/image/local.py index ef92a35b5..c304a2212 100644 --- a/nova/image/local.py +++ b/nova/image/local.py @@ -51,12 +51,15 @@ class LocalImageService(service.BaseImageService): def _ids(self): """The list of all image ids.""" images = [] - for i in os.listdir(self._path): + for image_dir in os.listdir(self._path): try: - images.append(int(i, 16)) + images.append(int(image_dir, 16)) + except ValueError: + LOG.error( + _("%s is not in correct directory naming format"\ + % image_dir)) except: - LOG.debug( - _("%s is not in correct directory naming format" % i)) + raise return images def index(self, context): diff --git a/nova/tests/api/openstack/test_images.py b/nova/tests/api/openstack/test_images.py index 2c4918117..a674ccefe 100644 --- a/nova/tests/api/openstack/test_images.py +++ b/nova/tests/api/openstack/test_images.py @@ -22,6 +22,7 @@ and as a WSGI layer import json import datetime +import os import shutil import tempfile @@ -155,8 +156,12 @@ class LocalImageServiceTest(test.TestCase, # create some old-style image directories (starting with 'ami-') for x in [1, 2, 3]: tempfile.mkstemp(prefix='ami-', dir=self.tempdir) - found_images = self.service._ids() - self.assertEqual(True, isinstance(found_images, list)) + # create some valid image directories names + for x in ["1485baed", "1a60f0ee", "3123a73d"]: + os.makedirs(os.path.join(self.tempdir, x)) + found_image_ids = self.service._ids() + self.assertEqual(True, isinstance(found_image_ids, list)) + self.assertEqual(3, len(found_image_ids), len(found_image_ids)) class GlanceImageServiceTest(test.TestCase, |