summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Authors1
-rw-r--r--nova/api/metadata/base.py4
-rw-r--r--nova/tests/test_metadata.py21
3 files changed, 24 insertions, 2 deletions
diff --git a/Authors b/Authors
index 36422549d..e13d824ee 100644
--- a/Authors
+++ b/Authors
@@ -201,6 +201,7 @@ Somik Behera <somikbehera@gmail.com>
Soren Hansen <soren.hansen@rackspace.com>
Stanislaw Pitucha <stanislaw.pitucha@hp.com>
Stephanie Reese <reese.sm@gmail.com>
+Steve Baker <steve@stevebaker.org>
Sumit Naiksatam <snaiksat@cisco.com>
Thierry Carrez <thierry@openstack.org>
Tim Simpson <tim.simpson@rackspace.com>
diff --git a/nova/api/metadata/base.py b/nova/api/metadata/base.py
index 06e290917..582bdec82 100644
--- a/nova/api/metadata/base.py
+++ b/nova/api/metadata/base.py
@@ -96,9 +96,9 @@ class InstanceMetadata():
for image_type in ['kernel', 'ramdisk']:
if self.instance.get('%s_id' % image_type):
image_id = self.instance['%s_id' % image_type]
- image_type = ec2utils.image_type(image_type)
+ ec2_image_type = ec2utils.image_type(image_type)
ec2_id = ec2utils.glance_id_to_ec2_id(ctxt, image_id,
- image_type)
+ ec2_image_type)
self.ec2_ids['%s-id' % image_type] = ec2_id
self.address = address
diff --git a/nova/tests/test_metadata.py b/nova/tests/test_metadata.py
index 0c3c5b574..cf48512f0 100644
--- a/nova/tests/test_metadata.py
+++ b/nova/tests/test_metadata.py
@@ -20,6 +20,7 @@
import base64
from copy import copy
+import re
import stubout
import webob
@@ -190,6 +191,26 @@ class MetadataTestCase(test.TestCase):
self.assertEqual(base.ec2_md_print(pubkey_ent['0']['openssh-key']),
self.instance['key_data'])
+ def test_image_type_ramdisk(self):
+ inst = copy(self.instance)
+ inst['ramdisk_id'] = 'ari-853667c0'
+ md = fake_InstanceMetadata(self.stubs, inst)
+ data = md.get_ec2_metadata(version='latest')
+
+ self.assertTrue(data['meta-data']['ramdisk-id'] is not None)
+ self.assertTrue(re.match('ari-[0-9a-f]{8}',
+ data['meta-data']['ramdisk-id']))
+
+ def test_image_type_kernel(self):
+ inst = copy(self.instance)
+ inst['kernel_id'] = 'aki-c2e26ff2'
+ md = fake_InstanceMetadata(self.stubs, inst)
+ data = md.get_ec2_metadata(version='2009-04-04')
+
+ self.assertTrue(data['meta-data']['kernel-id'] is not None)
+ self.assertTrue(re.match('aki-[0-9a-f]{8}',
+ data['meta-data']['kernel-id']))
+
class MetadataHandlerTestCase(test.TestCase):
"""Test that metadata is returning proper values."""