[Openstack] [keystone] v3 API draft (update and questions to the community)

Jay Pipes jaypipes at gmail.com
Tue Jun 12 17:16:56 UTC 2012


On 06/12/2012 04:24 AM, Gabriel Hurley wrote:
> Mark,
>
> Apparently you must have missed my lightning talk at the Essex summit... ;-) (http://gabrielhurley.github.com/slides/openstack/apis_like_orms/index.html)
>
> Filtering, pagination, and many other API features are *critical* for a rich dashboard experience. If you want to talk specifics, the entire Horizon team would be happy to have a long chat with you.
>
> That said, we have also considered the case you propose where you effectively "request everything and handle it on the client-side"... however, I see that as a tremendously lazy solution. On the service-provider end you have access to powerful database methods that can do these operations in fractions of the time the client-side can (especially with good indexes, etc.). And if you've ever worked in mobile applications you'll know that minimizing data across the wire is crucial. The only argument I've heard in favor of that is basically "it's easier for us not to add API features".
>
> To speak on the specific feature of pagination, the problem of 'corruption' by simultaneous writers is no excuse for not implementing it. You think Google, Facebook, Flickr, etc. etc. etc. don't have this problem? If you consume their feeds you'll notice you can fetch offset-based pagination with ease. You'd never expect to see a navigation element at the bottom of Google search results that said "take me to results starting with the letter m".
>
> None of this is a case of "someone might use it". The Horizon team has been loudly asking for these features for 8+ months now. And not just from Keystone but from all the projects. I have a list a mile long of API features we need to really deliver a compelling experience. I was just adding some items to it today, in fact.
>
> The rest of your points I have no strong feelings on and generally agree, but when it comes to API features... I feel *very* strongly.

As do I. Couldn't agree more. Pagination and filtering are critical 
components to the API, which is why we've tried as much as possible in 
Glance to support as many types of filters as we can.

Best,
-jay




More information about the Openstack mailing list