cinder/cinder
Steven Kaufer 10dcf874ac get volumes with limit and filters does not work
The /volumes and /volumes/detail REST APIs support filtering. Currently,
all filtering is done after the volumes are retrieved from the database
in the API.get_all function in /cinder/volume/api.py. Therefore, the usage
combination of filters and limit will only work if all volumes matching
the filters are in the page of data being retrieved from the database.

For example, assume that all of the volumes with a name of "foo" would be
retrieved from the database starting at index 100 and that you query for
all volumes with a name of "foo" while specifying a limit of 50.  In this
case, the query would yield 0 results since the filter did not match any of
the first 50 entries retrieved from the database.

This patch removes all filtering from the volume API layer and moves it
into the DB layer.

Test cases were added to verify filtering at the DB level.

Change-Id: Ia084e1f4cf59ea39bf8a0a36686146a315168cbb
Closes-bug: 1287813
2014-03-11 19:24:37 +00:00
..
api Port to oslo.messaging 2014-03-10 17:03:03 +01:00
backup Port to oslo.messaging 2014-03-10 17:03:03 +01:00
brick Re-enable lazy translation 2014-03-06 16:08:25 +00:00
common Re-enable lazy translation 2014-03-06 16:08:25 +00:00
compute Fix wrong example of "nova_endpoint_template" 2014-02-14 11:19:56 +08:00
db get volumes with limit and filters does not work 2014-03-11 19:24:37 +00:00
image Remove str() from LOG.* and exceptions 2014-03-04 14:25:10 -06:00
keymgr Re-enable lazy translation 2014-03-06 16:08:25 +00:00
locale Imported Translations from Transifex 2014-02-15 06:17:16 +00:00
openstack Port to oslo.messaging 2014-03-10 17:03:03 +01:00
scheduler Port to oslo.messaging 2014-03-10 17:03:03 +01:00
testing updating testing readme with more current information. 2014-02-26 09:21:13 -05:00
tests get volumes with limit and filters does not work 2014-03-11 19:24:37 +00:00
transfer Fix all occurences of H404 Hacking warning 2013-10-13 10:36:27 +03:00
volume get volumes with limit and filters does not work 2014-03-11 19:24:37 +00:00
zonemanager Remove str() from LOG.* and exceptions 2014-03-04 14:25:10 -06:00
__init__.py Remove vim header 2013-12-30 18:53:02 -06:00
context.py Remove vim header 2013-12-30 18:53:02 -06:00
exception.py Re-enable lazy translation 2014-03-06 16:08:25 +00:00
flow_utils.py Create structure of flows' packages 2014-01-24 12:44:56 +02:00
manager.py Port to oslo.messaging 2014-03-10 17:03:03 +01:00
policy.py Re-enable lazy translation 2014-03-06 16:08:25 +00:00
quota.py Do not show quota of removed volume types in Default Quotas panel 2014-01-20 10:20:36 -08:00
quota_utils.py Add ability to modify volume type 2014-01-06 22:02:09 +02:00
rpc.py Port to oslo.messaging 2014-03-10 17:03:03 +01:00
service.py Port to oslo.messaging 2014-03-10 17:03:03 +01:00
test.py Port to oslo.messaging 2014-03-10 17:03:03 +01:00
units.py Remove vim header 2013-12-30 18:53:02 -06:00
utils.py Merge "Remove str() from LOG.* and exceptions" 2014-03-05 14:49:44 +00:00
version.py Remove vim header 2013-12-30 18:53:02 -06:00
wsgi.py Fix webob.exc.HTTPForbidden parameter miss 2014-02-24 20:49:29 +09:00