]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Allow display_name for v2 snapshot-update
authorKen'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp>
Tue, 17 Sep 2013 04:29:51 +0000 (13:29 +0900)
committerKen'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp>
Tue, 17 Sep 2013 05:07:50 +0000 (14:07 +0900)
According to the comment in the source code, the snapshot-update of
v2 would be able to allow either "name" or "display_name" parameter.
And if both paramters are specified, "name" parameter is effective
over "display_name" like "description" parameter.
However "display_name" parameter is ignored now, because cinder writes
over empty dict(update_dict['display_name']).

This patch fixes the problem.

Fixes bug #1226398

Change-Id: Icd48556a26b9346f73b7c1b82ffbcdd469c4d28d

cinder/api/v2/snapshots.py

index 5e415392b0791b328e0e4bc1d0dae3719522b765..f6ac6da76a94f055368dfb2b678b01182244e399 100644 (file)
@@ -232,9 +232,15 @@ class SnapshotsController(wsgi.Controller):
         valid_update_keys = (
             'name',
             'description',
+            'display_name',
             'display_description',
         )
 
+        # NOTE(thingee): v2 API allows name instead of display_name
+        if 'name' in snapshot:
+            snapshot['display_name'] = snapshot['name']
+            del snapshot['name']
+
         # NOTE(thingee): v2 API allows description instead of
         # display_description
         if 'description' in snapshot:
@@ -245,11 +251,6 @@ class SnapshotsController(wsgi.Controller):
             if key in snapshot:
                 update_dict[key] = snapshot[key]
 
-        # NOTE(thingee): v2 API allows name instead of display_name
-        if 'name' in update_dict:
-            update_dict['display_name'] = update_dict['name']
-            del update_dict['name']
-
         try:
             snapshot = self.volume_api.get_snapshot(context, id)
             self.volume_api.update_snapshot(context, snapshot, update_dict)