summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/image/local.py11
-rw-r--r--nova/tests/api/openstack/test_images.py9
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,