<html><body>
<p><font size="2" face="sans-serif">I am investigating some pagination enhancements in nova and cinder (see nova blueprint <a href="https://blueprints.launchpad.net/nova/+spec/nova-pagination">https://blueprints.launchpad.net/nova/+spec/nova-pagination</a>).</font><br>
<br>
<font size="2" face="sans-serif">In cinder, it appears that all filtering is done after the volumes are retrieved from the database (see the API.get_all function in <a href="https://github.com/openstack/cinder/blob/master/cinder/volume/api.py">https://github.com/openstack/cinder/blob/master/cinder/volume/api.py</a>). 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. </font><br>
<br>
<font size="2" face="sans-serif">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.</font><br>
<br>
<font size="2" face="sans-serif">Is this a known problem?</font><br>
<font size="2" face="sans-serif">Is this considered a bug?</font><br>
<font size="2" face="sans-serif">How should this get resolved? As a blueprint for juno?</font><br>
<br>
<font size="2" face="sans-serif">I am new to the community and am trying to determine how this should be addressed.</font><br>
<br>
<font size="2" face="sans-serif">Thanks,</font><br>
<br>
<font size="2" face="sans-serif">Steven Kaufer</font><br>
</body></html>