10dcf874ac
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 |
||
---|---|---|
.. | ||
sqlalchemy | ||
__init__.py | ||
api.py | ||
base.py | ||
migration.py |