From 015f2a2f2ec2d0d2d92273c0958aa918d38c5086 Mon Sep 17 00:00:00 2001 From: Mike Perez Date: Mon, 11 Feb 2013 00:00:16 -0800 Subject: [PATCH] change display_description to description in volumes Rest v2 api volume responses key display_description changes to description to be consistent with other modules and projects. Change-Id: Ibafa2865c6c4a73fc1cf4694ae77a6709fd2e6e5 --- cinder/api/v2/views/volumes.py | 2 +- cinder/api/v2/volumes.py | 16 +++++++-- cinder/tests/api/v2/test_volumes.py | 52 ++++++++++++++--------------- 3 files changed, 40 insertions(+), 30 deletions(-) diff --git a/cinder/api/v2/views/volumes.py b/cinder/api/v2/views/volumes.py index e34623e02..c7b6eb7d4 100644 --- a/cinder/api/v2/views/volumes.py +++ b/cinder/api/v2/views/volumes.py @@ -61,7 +61,7 @@ class ViewBuilder(common.ViewBuilder): 'created_at': volume.get('created_at'), 'attachments': self._get_attachments(volume), 'name': volume.get('display_name'), - 'display_description': volume.get('display_description'), + 'description': volume.get('display_description'), 'volume_type': self._get_volume_type(volume), 'snapshot_id': volume.get('snapshot_id'), 'source_volid': volume.get('source_volid'), diff --git a/cinder/api/v2/volumes.py b/cinder/api/v2/volumes.py index 8f53b6905..ce2110063 100644 --- a/cinder/api/v2/volumes.py +++ b/cinder/api/v2/volumes.py @@ -51,7 +51,7 @@ def make_volume(elem): elem.set('availability_zone') elem.set('created_at') elem.set('name') - elem.set('display_description') + elem.set('description') elem.set('volume_type') elem.set('snapshot_id') elem.set('source_volid') @@ -97,7 +97,7 @@ class CommonDeserializer(wsgi.MetadataXMLDeserializer): volume = {} volume_node = self.find_first_child_named(node, 'volume') - attributes = ['name', 'display_description', 'size', + attributes = ['name', 'description', 'size', 'volume_type', 'availability_zone'] for attr in attributes: if volume_node.getAttribute(attr): @@ -231,6 +231,11 @@ class VolumeController(wsgi.Controller): volume['display_name'] = volume.get('name') del volume['name'] + # NOTE(thingee): v2 API allows description instead of description + if volume.get('description'): + volume['display_description'] = volume.get('description') + del volume['description'] + req_volume_type = volume.get('volume_type', None) if req_volume_type: try: @@ -310,7 +315,7 @@ class VolumeController(wsgi.Controller): valid_update_keys = ( 'name', - 'display_description', + 'description', 'metadata', ) @@ -323,6 +328,11 @@ class VolumeController(wsgi.Controller): update_dict['display_name'] = update_dict['name'] del update_dict['name'] + # NOTE(thingee): v2 API allows name instead of display_name + if 'description' in update_dict: + update_dict['display_description'] = update_dict['description'] + del update_dict['description'] + try: volume = self.volume_api.get(context, id) self.volume_api.update(context, volume, update_dict) diff --git a/cinder/tests/api/v2/test_volumes.py b/cinder/tests/api/v2/test_volumes.py index b2e0c68ba..78a9046c2 100644 --- a/cinder/tests/api/v2/test_volumes.py +++ b/cinder/tests/api/v2/test_volumes.py @@ -48,7 +48,7 @@ def stub_snapshot_get(self, context, snapshot_id): 'volume_size': 100, 'created_at': None, 'name': 'Default name', - 'display_description': 'Default description', + 'description': 'Default description', } @@ -73,7 +73,7 @@ class VolumeApiTest(test.TestCase): vol = { "size": 100, "name": "Volume Test Name", - "display_description": "Volume Test Desc", + "description": "Volume Test Desc", "availability_zone": "zone1:host1" } body = {"volume": vol} @@ -108,7 +108,7 @@ class VolumeApiTest(test.TestCase): vol = { "size": 100, "name": "Volume Test Name", - "display_description": "Volume Test Desc", + "description": "Volume Test Desc", "availability_zone": "zone1:host1", "volume_type": db_vol_type['name'], } @@ -128,7 +128,7 @@ class VolumeApiTest(test.TestCase): def test_volume_creation_fails_with_bad_size(self): vol = {"size": '', "name": "Volume Test Name", - "display_description": "Volume Test Desc", + "description": "Volume Test Desc", "availability_zone": "zone1:host1"} body = {"volume": vol} req = fakes.HTTPRequest.blank('/v2/volumes') @@ -142,7 +142,7 @@ class VolumeApiTest(test.TestCase): self.ext_mgr.extensions = {'os-image-create': 'fake'} vol = {"size": '1', "name": "Volume Test Name", - "display_description": "Volume Test Desc", + "description": "Volume Test Desc", "availability_zone": "nova", "imageRef": 'c905cedb-7281-47e4-8a62-f26bc5fc4c77'} expected = { @@ -173,7 +173,7 @@ class VolumeApiTest(test.TestCase): vol = { "size": '1', "name": "Volume Test Name", - "display_description": "Volume Test Desc", + "description": "Volume Test Desc", "availability_zone": "cinder", "imageRef": 'c905cedb-7281-47e4-8a62-f26bc5fc4c77', "snapshot_id": TEST_SNAPSHOT_UUID @@ -191,7 +191,7 @@ class VolumeApiTest(test.TestCase): vol = { "size": '1', "name": "Volume Test Name", - "display_description": "Volume Test Desc", + "description": "Volume Test Desc", "availability_zone": "cinder", "imageRef": 1234, } @@ -208,7 +208,7 @@ class VolumeApiTest(test.TestCase): vol = { "size": '1', "name": "Volume Test Name", - "display_description": "Volume Test Desc", + "description": "Volume Test Desc", "availability_zone": "cinder", "imageRef": '12345' } @@ -230,7 +230,7 @@ class VolumeApiTest(test.TestCase): expected = { 'volume': { 'status': 'fakestatus', - 'display_description': 'displaydesc', + 'description': 'displaydesc', 'availability_zone': 'fakeaz', 'name': 'Updated Test Name', 'attachments': [ @@ -272,7 +272,7 @@ class VolumeApiTest(test.TestCase): res_dict = self.controller.update(req, '1', body) expected = {'volume': { 'status': 'fakestatus', - 'display_description': 'displaydesc', + 'description': 'displaydesc', 'availability_zone': 'fakeaz', 'name': 'displayname', 'attachments': [{ @@ -362,7 +362,7 @@ class VolumeApiTest(test.TestCase): 'volumes': [ { 'status': 'fakestatus', - 'display_description': 'displaydesc', + 'description': 'displaydesc', 'availability_zone': 'fakeaz', 'name': 'displayname', 'attachments': [ @@ -546,7 +546,7 @@ class VolumeApiTest(test.TestCase): expected = { 'volume': { 'status': 'fakestatus', - 'display_description': 'displaydesc', + 'description': 'displaydesc', 'availability_zone': 'fakeaz', 'name': 'displayname', 'attachments': [ @@ -589,7 +589,7 @@ class VolumeApiTest(test.TestCase): expected = { 'volume': { 'status': 'fakestatus', - 'display_description': 'displaydesc', + 'description': 'displaydesc', 'availability_zone': 'fakeaz', 'name': 'displayname', 'attachments': [], @@ -671,7 +671,7 @@ class VolumeSerializerTest(test.TestCase): self.assertEqual(tree.tag, NS + 'volume') for attr in ('id', 'status', 'size', 'availability_zone', 'created_at', - 'name', 'display_description', 'volume_type', + 'name', 'description', 'volume_type', 'snapshot_id', 'source_volid'): self.assertEqual(str(vol[attr]), tree.get(attr)) @@ -708,7 +708,7 @@ class VolumeSerializerTest(test.TestCase): ) ], name='vol_name', - display_description='vol_desc', + description='vol_desc', volume_type='vol_type', snapshot_id='snap_id', source_volid='source_volid', @@ -742,7 +742,7 @@ class VolumeSerializerTest(test.TestCase): ) ], name='vol1_name', - display_description='vol1_desc', + description='vol1_desc', volume_type='vol1_type', snapshot_id='snap1_id', source_volid=None, @@ -759,7 +759,7 @@ class VolumeSerializerTest(test.TestCase): server_id='instance_uuid', device='/foo2')], name='vol2_name', - display_description='vol2_desc', + description='vol2_desc', volume_type='vol2_type', snapshot_id='snap2_id', source_volid=None, @@ -808,18 +808,18 @@ class TestVolumeCreateRequestXMLDeserializer(test.TestCase): } self.assertEquals(request['body'], expected) - def test_display_description(self): + def test_description(self): self_request = """ """ + description="description">""" request = self.deserializer.deserialize(self_request) expected = { "volume": { "size": "1", "name": "Volume-xml", - "display_description": "description", + "description": "description", }, } self.assertEquals(request['body'], expected) @@ -829,7 +829,7 @@ class TestVolumeCreateRequestXMLDeserializer(test.TestCase): """ request = self.deserializer.deserialize(self_request) expected = { @@ -837,7 +837,7 @@ class TestVolumeCreateRequestXMLDeserializer(test.TestCase): "name": "Volume-xml", "size": "1", "name": "Volume-xml", - "display_description": "description", + "description": "description", "volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164", }, } @@ -848,7 +848,7 @@ class TestVolumeCreateRequestXMLDeserializer(test.TestCase): """ request = self.deserializer.deserialize(self_request) @@ -856,7 +856,7 @@ class TestVolumeCreateRequestXMLDeserializer(test.TestCase): "volume": { "size": "1", "name": "Volume-xml", - "display_description": "description", + "description": "description", "volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164", "availability_zone": "us-east1", }, @@ -886,7 +886,7 @@ class TestVolumeCreateRequestXMLDeserializer(test.TestCase): work""" @@ -895,7 +895,7 @@ class TestVolumeCreateRequestXMLDeserializer(test.TestCase): "volume": { "size": "1", "name": "Volume-xml", - "display_description": "description", + "description": "description", "volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164", "availability_zone": "us-east1", "metadata": { -- 2.45.2