Hi Ignasi,
nice to hear from you again! Yep, we use jclouds in our stackops products
since mid 2014. What a great stuff you are building dudes!
You are right, it's part of the OS-KSADM extension. I have already
implemented it in jclouds 2.0 and it's working like a breeze: actually it
was just a bunch of lines of code:
package org.jclouds.openstack.keystone.v2_0.features;
...
/**
* List users that belong to a specific tenant
*
* @return the list of users
*/
@Named("user:listUsersOnTenant")
@GET
@Path("/tenants/{tenantId}/users")
@ResponseParser(ParseUsers.class)
@Transform(ToPagedIterable.class)
@Fallback(EmptyPagedIterableOnNotFoundOr404.class)
PagedIterable<User> listUsersOnTenant(@PathParam("tenantId") String
tenantId);
@Named("user:listUsersOnTenant")
@GET
@Path("/tenants/{tenantId}/users")
@ResponseParser(ParseUsers.class)
@Fallback(EmptyPaginatedCollectionOnNotFoundOr404.class)
PaginatedCollection<User> listUsersOnTenant(@PathParam("tenantId")
String tenantId,
PaginationOptions options);
But it sounds me better in the UserApi class since it returns a list of
users... but actually I don't care and I can change it right way.
Let me know if I have to change it to TenantAdminApi and I will send the
pull request. I hope you are not as much talibans as the Openstack dudes
are ;-)
Cheers
--
Diego Parrilla
<http://www.stackops.com/>*CEO*
*www.stackops.com <http://www.stackops.com/> | * [email protected] |
+34 91 005-2164 | skype:diegoparrilla
On Mon, Apr 13, 2015 at 10:28 AM, Ignasi Barrera <[email protected]> wrote:
> Hi Diego, long time no see!
>
> The call seems to be part of the OS-KSADM extension [1], right? jclouds
> does not implement it yet, but adding it to the TenantAdminApi [2] would be
> pretty straightforward. Since this addition shouldn't introduce breaking
> changes, there is no problem in adding it to 2.0 and 1.9.x.
>
> We love pull requests. Wanna try sending us a path [3]?
>
>
> HTH!
>
> I.
>
>
> [1] http://developer.openstack.org/api-ref-identity-v2-ext.html
> [2]
> https://github.com/jclouds/jclouds/blob/master/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/extensions/TenantAdminApi.java
> [3] https://cwiki.apache.org/confluence/display/JCLOUDS/How+to+Contribute
>
> On 10 April 2015 at 13:48, Diego Parrilla Santamaría <
> [email protected]> wrote:
>
>> Hi folks,
>>
>> this is an issue we have been struggling with for a while and now it's
>> becoming mandatory to find a workaround for how we do it now:
>>
>> Our goal is to get what users are in a specific tenant using Keystone
>> API. There is a well known call to the API that can return the list of
>> users:
>>
>> curl -i -X GET http://api.stackops.int:35357/v2.0/tenants/<tenant-id>/users
>> -H "User-Agent: python-keystoneclient" -H "X-Auth-Token: TOKEN"
>>
>> But we can't find an equivalent call in JClouds. The way we do it now is:
>> 1) Get the list of users
>> 2) Check if any user has a role in the tenant. If so, add the user to the
>> users in the tenant list.
>>
>> The process hits heavily on Keystone and it's fine for a few hundreds of
>> tenants, but now we are facing performance issues when dealing with
>> thousands of tenants and users.
>>
>> So my question(s) are:
>> 1) Is this call implemented in JClouds and we don't know how to use it?
>> 2) Any plans for future implementations in 1.9.x and 2.0?
>> 3) Are there a good reason for not to have this API call implemented?
>> Maybe I'm missing something.
>> 4) Any chance of having our code implementing this feature in JClouds?
>>
>> Cheers!
>> Diego
>>
>> --
>> Diego Parrilla
>> <http://www.stackops.com/>*CEO*
>> *www.stackops.com <http://www.stackops.com/> | *
>> [email protected] | +34 91 005-2164 | skype:diegoparrilla
>>
>
>