Red Hat Bugzilla – Bug 1299980
[RFE] Pagination and Filtering For Listing OpenStack Server Groups Using REST API
Last modified: 2017-09-25 13:00:19 EDT
The issue isn't with the limit itself. The issue is that regardless of what that limit is, if we have more entries than that number allows, we can't get all the results.
So, for example, say we have a limit of 500. We do a RESP API call to retrieve a list of server groups so that we can run some logic with it. If there are 750 entries, we only get 500 of those. We could increase the limit to 1000, but that will only work as long as the number of server groups is below 1000. If the number of server groups increases from 750 to 1500, we run across the same problem again.
Changing the limit is often times undesirable, because it changes the number of results returned for all queries, not just for server groups.
Filtering within the REST API would be a useful feature as well, since even with the case of pagination, there might be more information than we want to have to page through.
I attempted adding the url parameters in the format "http://<server>/v2/<tenant_id>/os-server-groups?limit=10&marker=<server_group_id>" . The limit parameter appears to work, but not marker, so it doesn't appear that pagination is available.
The 'os-server-groups' endpoint uses 'limit' & 'offset' query parameters, not 'limit' & 'marker' query parameters.
For example, testing notes on devstack:
Can you give 'offset' a try and let me know if that doesn't work?
Marking this as closed since 'os-server-groups' paging has worked for a few years now (I'm not sure when it was first introduced).
I've added it to my TODO list to update the api-ref docs  to include the optional 'limit' and 'offset' query parameters.
This is the code  'os-server-groups' is using to facilitate paging.
From that code: 'offset' is where to start in the list, and 'limit' is the maximum number of items to return. If 'limit' is not specified, 0, or > max_limit, we default to max_limit.
Hope that helps, Cheers!