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
>>  
>
>

Reply via email to