summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2011-04-05 15:35:17 -0700
committerVishvananda Ishaya <vishvananda@gmail.com>2011-04-05 15:35:17 -0700
commit8eff0a91bbc475d8559b39fb81e1a62beda841f3 (patch)
tree76770595b90baba655cfffe65c6ab27581cd2ecb
parent56eb682a169c20a9a8275b3b9bfd423f0d562cbc (diff)
downloadnova-8eff0a91bbc475d8559b39fb81e1a62beda841f3.tar.gz
nova-8eff0a91bbc475d8559b39fb81e1a62beda841f3.tar.xz
nova-8eff0a91bbc475d8559b39fb81e1a62beda841f3.zip
update and fix tests
-rw-r--r--nova/image/local.py1
-rw-r--r--nova/image/s3.py13
-rw-r--r--nova/tests/api/openstack/test_servers.py16
3 files changed, 21 insertions, 9 deletions
diff --git a/nova/image/local.py b/nova/image/local.py
index 92d3dabd4..bad4c2d85 100644
--- a/nova/image/local.py
+++ b/nova/image/local.py
@@ -87,6 +87,7 @@ class LocalImageService(service.BaseImageService):
image_meta = json.load(metadata_file)
if not self._is_image_available(context, image_meta):
raise exception.NotFound
+ return image_meta
except (IOError, ValueError):
raise exception.NotFound
diff --git a/nova/image/s3.py b/nova/image/s3.py
index 93af21022..a7301eefd 100644
--- a/nova/image/s3.py
+++ b/nova/image/s3.py
@@ -46,6 +46,7 @@ flags.DEFINE_string('image_decryption_dir', '/tmp',
class S3ImageService(service.BaseImageService):
+ """Wraps an existing image service to support s3 based register"""
def __init__(self, service=None, *args, **kwargs):
if service == None:
service = utils.import_object(FLAGS.image_service)
@@ -68,6 +69,18 @@ class S3ImageService(service.BaseImageService):
image = self.service.update(context, image_id, metadata, data)
return image
+ def index(self, context):
+ return self.service.index(context)
+
+ def detail(self, context):
+ return self.service.detail(context)
+
+ def show(self, context, image_id):
+ return self.service.show(context, image_id)
+
+ def show_by_name(self, context, name):
+ return self.service.show(context, name)
+
@staticmethod
def _conn(context):
# TODO(vish): is there a better way to get creds to sign
diff --git a/nova/tests/api/openstack/test_servers.py b/nova/tests/api/openstack/test_servers.py
index 313676e72..1ec01bb4c 100644
--- a/nova/tests/api/openstack/test_servers.py
+++ b/nova/tests/api/openstack/test_servers.py
@@ -1525,29 +1525,27 @@ class TestGetKernelRamdiskFromImage(test.TestCase):
def test_not_ami(self):
"""Anything other than ami should return no kernel and no ramdisk"""
- image_meta = {'id': 1, 'status': 'active',
- 'properties': {'disk_format': 'vhd'}}
+ image_meta = {'id': 1, 'status': 'active', 'container_format': 'vhd'}
kernel_id, ramdisk_id = self._get_k_r(image_meta)
self.assertEqual(kernel_id, None)
self.assertEqual(ramdisk_id, None)
def test_ami_no_kernel(self):
"""If an ami is missing a kernel it should raise NotFound"""
- image_meta = {'id': 1, 'status': 'active',
- 'properties': {'disk_format': 'ami', 'ramdisk_id': 1}}
+ image_meta = {'id': 1, 'status': 'active', 'container_format': 'ami',
+ 'properties': {'ramdisk_id': 1}}
self.assertRaises(exception.NotFound, self._get_k_r, image_meta)
def test_ami_no_ramdisk(self):
"""If an ami is missing a ramdisk it should raise NotFound"""
- image_meta = {'id': 1, 'status': 'active',
- 'properties': {'disk_format': 'ami', 'kernel_id': 1}}
+ image_meta = {'id': 1, 'status': 'active', 'container_format': 'ami',
+ 'properties': {'kernel_id': 1}}
self.assertRaises(exception.NotFound, self._get_k_r, image_meta)
def test_ami_kernel_ramdisk_present(self):
"""Return IDs if both kernel and ramdisk are present"""
- image_meta = {'id': 1, 'status': 'active',
- 'properties': {'disk_format': 'ami', 'kernel_id': 1,
- 'ramdisk_id': 2}}
+ image_meta = {'id': 1, 'status': 'active', 'container_format': 'ami',
+ 'properties': {'kernel_id': 1, 'ramdisk_id': 2}}
kernel_id, ramdisk_id = self._get_k_r(image_meta)
self.assertEqual(kernel_id, 1)
self.assertEqual(ramdisk_id, 2)