[openstack-dev] [UX] [Keystone] [Horizon] Pagination support for Identity dashboard entities
Jay Pipes
jaypipes at gmail.com
Fri Aug 14 22:55:19 UTC 2015
On 08/14/2015 06:30 PM, Morgan Fainberg wrote:
>> On Aug 14, 2015, at 15:10, Jay Pipes <jaypipes at gmail.com> wrote:
>>
>>> On 08/14/2015 05:24 PM, Adam Young wrote:
>>>> On 08/14/2015 12:43 PM, Michael Krotscheck wrote:
>>>> 1- Do users want to page through search results?
>>> Does not matter: in Federation, the User list is not available.
>>
>> OK, so hobble the entire REST API for the deficiencies/architecture/reality of a single authentication/identity strategy.
>>
>>>> 2- Do users want to page through filter results? (do they use filter
>>>> results?)
>>> This is the only practical tool available for LDAP.
>>
>> Again, hobble the entire API for the deficiencies and anachronisms of a single identity driver.
>
> The SQL driver is at best a toy and should go away.
And yet it is in deployments all over the world.
People said the same about MySQL. It was a toy and should go away. And
yet, here we are, 15 years later, and MySQL is running in some of the
world's biggest and most complex web applications. Asking for something
to go away because you consider it a toy (a toy with better capabilities
than other things, I might add) doesn't just make it so...
If anything, we should tell the anachronistic ActiveDirectory and LDAP
solutions to "go away" ;)
> We are working diligently to provide the best solution for the small
and large deployments and provide features we are regularly asked for
(password lifecycle, complexity, better user management, etc).
Aren't we talking about "better user management" here?
> Again I will reiterate, asking for "every user that could have an assignment" is absurd.
Nobody is asking for that. We are asking for "list me the first page of
users in the system, ordered by their ID (or email, or whatever)". This
is hardly absurd. In fact, it's how all other OpenStack API services
expose pagination functionality. And it is complementary to things like
Searchlight, not anathema to it.
> You should search for specific users if you need for find a user
without an assignment (they can't access keystone or auth or act on
OpenStack anyway). You should look at active assignments and we can
implement pagination for that.
Where are you coming up with this "find a user without an assignment"
use case? I've yet to hear anyone talking about this. The only use case
that has been discussed is the (very common) one that Horizon needs to
display a page of user account information, sorted by some key and
filtered as needed.
> It wont be a /users API call.
Why not?
>>>> 3- If they want to page, do they want to be able to go back a page
>>>> and/or know their current page?
>>>> 4- How much do users care about small data inconsistencies (i.e.
>>>> ordering of record sets changing from page-to-page).
>>>
>>> So, yeah, we could support paging for SQL.
>>
>> That would be great. Double bonus if this pagination API followed the examples of all the other OpenStack API services and didn't invent its own terms (page, per_page...).
>
> I really do not want implementation details to be the cause of a massive UX change.
That is precisely the situation that Horizon finds itself in today:
implementation details of Keystone's backend drivers causing Horizon to
need to deal with Keystone like it's a special unicorn.
> Lets avoid doing that yet again in OpenStack. Asking horizon to have
two completely different mechanisms based on what backend is following a
poor design pattern we keep falling into where we expect the user to
figure out/know what is different between deployments.
No, that is not at all what I said. I said that there should be a
discovery mechanism so that **Horizon** can figure out whether it can
use a standard "get me a page of listed results" user experience, or
whether it can ONLY use a filtering strategy for the user experience...
Nobody has asked the end user to figure out what is different between
deployments. We're talking about the dashboard here, and possibly the
python-keystoneclient.
Best,
-jay
>>> That is becoming a repository for service users only. For the use
>>> cases requested, we do not have the ability to implement.
>>
>> Sure, but what you[1] *do* have the ability to implement is a capabilities discovery REST API that would allow tools like Horizon to determine if the only option available for them would be a filtering API, with no pagination capabilities.
>>
>> It would be super awesome if Keystone had such a capabilities discovery API.
>>
>> Best,
>> -jay
>>
>> [1] I don't mean *you* personally, Adam :)
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
More information about the OpenStack-dev
mailing list