cinder/cinder
Zhiteng Huang ca85d237e2 Fix deleting qos specs key
Previously deleting a key in certain qos specs was accomplished via
'update' API. Unfortunately, 'update' isn't able to tell the
difference between setting a key with no value and deleting a key (and
its value).
This change adds an new API 'delete_keys' to qos_specs API extension.
'delete_keys' API allows client to specify a list of to-be-deleted keys
in one single request (batch mode!), which can be handy when removing
multiple keys in a qos specs.

Example URL and request body for 'delete_keys' API:
 PUT to http://127.0.0.1:8776/v2/qos-specs/QOS_SPECS_UUID/delete_keys
 with body: {'keys': ['foo', 'bar', 'zoo']}

Above example request will result in 'foo', 'bar', 'zoo' key/value
pairs of QOS_SPECS_UUID be marked as deleted in DB.  If QOS_SPECS_UUID
doesn't exist, a 404 error will return; if any key in 'foo', 'bar',
'zoo' couldn't be found in QOS_SPECS_UUID, a 400 error will return with
error message telling which key couldn't be found. Note that Cinder
will puke 400 and stop trying the rest once it encounters a
non-existing (or deleted) key amoung the given list of keys.

This change also fixes 'list'/'show' API includes deleted keys in
result.

Fix bug: # 1223660
Fix bug: # 1223677

Change-Id: Ia3cb07e204d655a9b837b317ce7117feb3c86a2d
2013-09-11 14:36:53 +08:00
..
api Fix deleting qos specs key 2013-09-11 14:36:53 +08:00
backup Check cinder-backup service before "backing-up" 2013-09-09 08:16:17 +09:00
brick Fixes pep8 violation in nova 2013-09-09 14:43:59 -07:00
common Merge "Added glance_request_timeout config option." 2013-08-14 06:32:42 +00:00
compute QEMU-assisted-snapshots for GlusterFS volumes 2013-09-03 23:49:50 -04:00
db Fix deleting qos specs key 2013-09-11 14:36:53 +08:00
image Add check for qemu-img to image_utils fetch_to_raw 2013-09-10 14:04:46 -05:00
keymgr Add support for encrypted volumes 2013-08-14 10:00:15 -04:00
locale Imported Translations from Transifex 2013-08-27 06:10:11 +00:00
openstack Sync rpc fix from oslo-incubator 2013-08-30 15:36:36 -04:00
scheduler Migration for attached volumes 2013-08-27 14:18:25 +03:00
taskflow Refactoring of create_volume to use taskflow. 2013-08-07 19:08:21 -07:00
testing Use nose and openstack nose plugin. 2013-03-07 14:14:08 -05:00
tests Fix deleting qos specs key 2013-09-11 14:36:53 +08:00
transfer Added need info to accept_transfer 2013-08-20 09:02:33 -06:00
volume Fix deleting qos specs key 2013-09-11 14:36:53 +08:00
__init__.py Remove gettext.install() from cinder/__init__.py 2013-05-13 18:45:25 +08:00
context.py Allow Cinder to call Nova client 2013-08-19 13:38:56 +03:00
exception.py Restrict Volume type deletion with volumes assoc 2013-09-09 14:31:04 +05:30
manager.py Replace FLAGS with cfg.CONF in other modules, unless tests 2013-06-13 13:11:36 +04:00
policy.py Refactoring of create_volume to use taskflow. 2013-08-07 19:08:21 -07:00
quota.py Move resource usage sync functions to db backend 2013-08-08 10:26:05 +03:00
service.py Fix the multi-backend storge issue for ZMQ. 2013-07-26 00:05:41 -04:00
test.py Remove unused/redundant methods in cinder/test.py 2013-09-07 10:43:27 +08:00
units.py Make NFS share selection more intelligent. 2013-05-23 12:23:26 -07:00
utils.py Remove unused methods from cinder.utils 2013-08-29 17:19:39 +04:00
version.py Use pbr instead of openstack.common.setup. 2013-05-11 16:20:19 -04:00
wsgi.py Merge "Fix python 3 pep8 errors for print" 2013-08-22 21:23:26 +00:00