diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-12-20 23:43:13 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-12-20 23:43:13 +0000 |
| commit | 90b6b82dc3c8f32df00a66fcff9deb52aa17c117 (patch) | |
| tree | 012fb8e4d1142f1d548a1e52d2b66abcdc948d70 | |
| parent | ff04ded017802af199fa672ad4b673f46d98ca27 (diff) | |
| parent | 690202166f43281bd4439750eaec5262692454bb (diff) | |
| download | nova-90b6b82dc3c8f32df00a66fcff9deb52aa17c117.tar.gz nova-90b6b82dc3c8f32df00a66fcff9deb52aa17c117.tar.xz nova-90b6b82dc3c8f32df00a66fcff9deb52aa17c117.zip | |
Merge "add 'random_seed' entry to instance metadata"
| -rw-r--r-- | nova/api/metadata/base.py | 3 | ||||
| -rw-r--r-- | nova/tests/test_metadata.py | 15 |
2 files changed, 18 insertions, 0 deletions
diff --git a/nova/api/metadata/base.py b/nova/api/metadata/base.py index 1c316bf9c..2377da7b7 100644 --- a/nova/api/metadata/base.py +++ b/nova/api/metadata/base.py @@ -317,6 +317,9 @@ class InstanceMetadata(): metadata['launch_index'] = self.instance['launch_index'] metadata['availability_zone'] = self.availability_zone + if self._check_os_version(GRIZZLY, version): + metadata['random_seed'] = base64.b64encode(os.urandom(512)) + data = { MD_JSON_NAME: json.dumps(metadata), } diff --git a/nova/tests/test_metadata.py b/nova/tests/test_metadata.py index 39c84c1d8..1f2ea4bc5 100644 --- a/nova/tests/test_metadata.py +++ b/nova/tests/test_metadata.py @@ -347,6 +347,21 @@ class OpenStackMetadataTestCase(test.TestCase): self.assertRaises(base.InvalidMetadataPath, mdinst.lookup, "/openstack/2012-08-10/user_data") + def test_random_seed(self): + inst = copy(self.instance) + mdinst = fake_InstanceMetadata(self.stubs, inst) + + # verify that 2013-04-04 has the 'random' field + mdjson = mdinst.lookup("/openstack/2013-04-04/meta_data.json") + mddict = json.loads(mdjson) + + self.assertTrue("random_seed" in mddict) + self.assertEqual(len(base64.b64decode(mddict["random_seed"])), 512) + + # verify that older version do not have it + mdjson = mdinst.lookup("/openstack/2012-08-10/meta_data.json") + self.assertFalse("random_seed" in json.loads(mdjson)) + class MetadataHandlerTestCase(test.TestCase): """Test that metadata is returning proper values.""" |
