Merge "Include project_id in instance metadata."
This commit is contained in:
@@ -330,6 +330,9 @@ class InstanceMetadata(object):
|
||||
if self._check_os_version(GRIZZLY, version):
|
||||
metadata['random_seed'] = base64.b64encode(os.urandom(512))
|
||||
|
||||
if self._check_os_version(LIBERTY, version):
|
||||
metadata['project_id'] = self.instance.project_id
|
||||
|
||||
self.set_mimetype(MIME_TYPE_APPLICATION_JSON)
|
||||
return jsonutils.dumps(metadata)
|
||||
|
||||
|
||||
@@ -528,6 +528,21 @@ class OpenStackMetadataTestCase(test.TestCase):
|
||||
mdjson = mdinst.lookup("/openstack/2012-08-10/meta_data.json")
|
||||
self.assertNotIn("random_seed", jsonutils.loads(mdjson))
|
||||
|
||||
def test_project_id(self):
|
||||
fakes.stub_out_key_pair_funcs(self.stubs)
|
||||
mdinst = fake_InstanceMetadata(self.stubs, self.instance)
|
||||
|
||||
# verify that 2015-10-15 has the 'project_id' field
|
||||
mdjson = mdinst.lookup("/openstack/2015-10-15/meta_data.json")
|
||||
mddict = jsonutils.loads(mdjson)
|
||||
|
||||
self.assertIn("project_id", mddict)
|
||||
self.assertEqual(mddict["project_id"], self.instance.project_id)
|
||||
|
||||
# verify that older version do not have it
|
||||
mdjson = mdinst.lookup("/openstack/2013-10-17/meta_data.json")
|
||||
self.assertNotIn("project_id", jsonutils.loads(mdjson))
|
||||
|
||||
def test_no_dashes_in_metadata(self):
|
||||
# top level entries in meta_data should not contain '-' in their name
|
||||
fakes.stub_out_key_pair_funcs(self.stubs)
|
||||
|
||||
Reference in New Issue
Block a user