]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Fix issue with passing lists in filters
authorAvishay Traeger <avishay@stratoscale.com>
Thu, 18 Dec 2014 13:55:26 +0000 (14:55 +0100)
committerAvishay Traeger <avishay@stratoscale.com>
Sun, 21 Dec 2014 13:28:26 +0000 (14:28 +0100)
commit4aaf40ba1aab4d7c347b05750d0fe21f8d1bcc68
treeebfaceb1f33abf693ea7e097b9dc5f4f9388578e
parent99f4664eff8afe7c38c51a846694dfb24a0867e4
Fix issue with passing lists in filters

The Cinder db code already allows searching for a value in a list,
for example, id in ['id1', 'id2', 'id3']. The problem is when we
get the value at the API it comes as a string (e.g.
"['id1', 'id2', 'id3']", and therefore the filter fails. This was
already fixed for metadata filters, so just apply it to all filters.

We do a try/except because if it really is a string, then the
literal_eval will fail because we don't pass double quotes, such as
"'string'".  The current code therefore will now cover lists and
fall back to the original behavior for strings.

Change-Id: Idfd8298401a330bb99ddcd130268fabb6ef9d162
Closes-Bug: 1403875
cinder/api/v1/volumes.py
cinder/api/v2/volumes.py
cinder/tests/api/v1/test_volumes.py
cinder/tests/api/v2/test_volumes.py