diff options
author | Jenkins <jenkins@review.openstack.org> | 2012-09-18 00:35:51 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2012-09-18 00:35:51 +0000 |
commit | 2628697679ae9ccdba96ad4d0d2af4104f48de7f (patch) | |
tree | 85be2f46f05d68d961de9a80b40569c1e39fcd8a | |
parent | baf5e03f1c41c06b52b6b6bb5497f1f34a0a521a (diff) | |
parent | 9733b4eb9f3aeadd29f8dd8b00a37ce3d454edb8 (diff) | |
download | nova-2628697679ae9ccdba96ad4d0d2af4104f48de7f.tar.gz nova-2628697679ae9ccdba96ad4d0d2af4104f48de7f.tar.xz nova-2628697679ae9ccdba96ad4d0d2af4104f48de7f.zip |
Merge "Include volume_metadata with object on vol create"
-rw-r--r-- | nova/db/sqlalchemy/api.py | 2 | ||||
-rw-r--r-- | nova/tests/test_volume.py | 20 |
2 files changed, 20 insertions, 2 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index ea8d7cbec..533298bee 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -2931,7 +2931,7 @@ def volume_create(context, values): with session.begin(): volume_ref.save(session=session) - return volume_ref + return volume_get(context, values['id'], session=session) @require_admin_context diff --git a/nova/tests/test_volume.py b/nova/tests/test_volume.py index 5bd510406..3de5404f6 100644 --- a/nova/tests/test_volume.py +++ b/nova/tests/test_volume.py @@ -74,7 +74,7 @@ class VolumeTestCase(test.TestCase): return 1 @staticmethod - def _create_volume(size=0, snapshot_id=None): + def _create_volume(size=0, snapshot_id=None, metadata=None): """Create a volume object.""" vol = {} vol['size'] = size @@ -84,6 +84,8 @@ class VolumeTestCase(test.TestCase): vol['availability_zone'] = FLAGS.storage_availability_zone vol['status'] = "creating" vol['attach_status'] = "detached" + if metadata is not None: + vol['metadata'] = metadata return db.volume_create(context.get_admin_context(), vol) def test_ec2_uuid_mapping(self): @@ -132,6 +134,22 @@ class VolumeTestCase(test.TestCase): self.context, volume_id) + def test_create_delete_volume_with_metadata(self): + """Test volume can be created and deleted.""" + test_meta = {'fake_key': 'fake_value'} + volume = self._create_volume('0', None, test_meta) + volume_id = volume['id'] + self.volume.create_volume(self.context, volume_id) + result_meta = { + volume.volume_metadata[0].key: volume.volume_metadata[0].value} + self.assertEqual(result_meta, test_meta) + + self.volume.delete_volume(self.context, volume_id) + self.assertRaises(exception.NotFound, + db.volume_get, + self.context, + volume_id) + def _do_test_create_over_quota(self, resource, expected): """Test volume creation over quota.""" |