[openstack-dev] [Keystone] [Horizon] Pagination support for Identity dashboard entities

Jay Pipes jaypipes at gmail.com
Fri Aug 14 14:39:32 UTC 2015


On 08/14/2015 09:14 AM, Morgan Fainberg wrote:
> As a quick note the api-ref you are linking to has some gaps/has not
> been kept in sync with the official api specifications.
>
> The official API specification is located at
> http://specs.openstack.org/openstack/keystone-specs/ (v2 and v3 sections
> at the top) and there is a known open bug to work with the docs team to
> get this in sync (somehow).
>
> Unfortunately there are a number of cases especially with the identity
> backend where pagination just does not work (or works completely
> unreliably) such as utilizing the ldap driver. Either a cursor must be
> maintained (problematic in REST) or the results could be wildly
> different every single request meaning each page is not really
> guaranteed to be the "next page" it could be the same/show inconsistent
> results. The second issue is that the pagination is not a good UX even
> where it works - the simple question is: if you can filter the results
> how many pages deep do you go before refining the query; think of your
> use of search engines.
>
> In light of these issues Keystone has opted for a filter / limit
> (config). If the results exceed the limit there is a truncation that
> occurs and it is recommended extra filtering be applied to reduce the
> total number of results.
>
> This discussion has gone around a few times, pagination in keystone is
> not currently on the roadmap. In addition to the above doc bug, we
> should work to better socialize this filter-over-paginate methodology.

I understand all the things you write above about the problems that 
Keystone's underlying architecture (driver-based, not always able to do 
pagination in the individual drivers). However, it really does mean that 
Keystone is the only project in OpenStack that behaves this way. All 
other services provide limit/marker paginations, AFAIK, which is 
efficient and, while not the same UX as a filtering methodology, is 
entirely compatible and complementary to filtering.

Best,
-jay



More information about the OpenStack-dev mailing list