summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2011-11-15 23:18:43 +0000
committerGerrit Code Review <review@openstack.org>2011-11-15 23:18:43 +0000
commita3090f2a3a8a83e25a4a4ded24785a8bb862fe87 (patch)
tree04a095c2a04df5fbfec08225b4f9314d2fbe1d37
parent6ae372fc784005572f03d1d9ff43952b428f656a (diff)
parent81c8c3ab19d838e14c528753854340a8a4b4f66a (diff)
Merge "Fixing image create in S3ImageService"
-rw-r--r--nova/image/s3.py13
-rw-r--r--nova/tests/image/test_s3.py2
2 files changed, 9 insertions, 6 deletions
diff --git a/nova/image/s3.py b/nova/image/s3.py
index ff423b2e3..ea0882d39 100644
--- a/nova/image/s3.py
+++ b/nova/image/s3.py
@@ -213,15 +213,16 @@ class S3ImageService(object):
properties['project_id'] = context.project_id
properties['architecture'] = arch
+ def _translate_dependent_image_id(image_key, image_id):
+ image_id = ec2utils.ec2_id_to_id(image_id)
+ image_uuid = self.get_image_uuid(context, image_id)
+ properties['image_id'] = image_uuid
+
if kernel_id:
- kernel_id = ec2_utils.ec2_id_to_id(kernel_id)
- kernel_uuid = self._get_image_uuid(context, kernel_id)
- properties['kernel_id'] = kernel_uuid
+ _translate_dependent_image_id('kernel_id', kernel_id)
if ramdisk_id:
- ramdisk_id = ec2utils.ec2_id_to_id(ramdisk_id)
- ramdisk_uuid = self._get_image_uuid(context, ramdisk_id)
- properties['ramdisk_id'] = ramdisk_uuid
+ _translate_dependent_image_id('ramdisk_id', ramdisk_id)
if mappings:
properties['mappings'] = mappings
diff --git a/nova/tests/image/test_s3.py b/nova/tests/image/test_s3.py
index 133d789b6..02f66fce1 100644
--- a/nova/tests/image/test_s3.py
+++ b/nova/tests/image/test_s3.py
@@ -50,6 +50,8 @@ ami_manifest_xml = """<?xml version="1.0" ?>
<device>sda3</device>
</mapping>
</block_device_mapping>
+ <kernel_id>aki-00000001</kernel_id>
+ <ramdisk_id>ari-00000001</ramdisk_id>
</machine_configuration>
</manifest>
"""