Sounds reasonable, yes. Ok, I will change it to TenantAdminApi, perform 
some tests and then I will send the pull request.

Thanks dude!

 -- 
Diego Parrilla
<http://www.stackops.com/>*CEO*
*www.stackops.com <http://www.stackops.com/> | * [email protected] | 
+34 91 005-2164 | skype:diegoparrilla



On Wed, Apr 15, 2015 at 10:39 AM, Ignasi Barrera <[email protected]> wrote:

> Being a method in an extension, it shouldn't be in the UserApi, as some 
> installation couldn't have that extension available and we need to take 
> that into account. There are the UserAdminApi and the TenantAdminApi for 
> the OS-KSADM extension. The former contains generic user operations, and 
> the latter contains the tenant-scoped ones, that's why I suggested to add 
> the method there. Does it make sense?
>
> Feel free to send the pull request!
>
> I.
>
> On 14 April 2015 at 23:30, Diego Parrilla Santamaría <
> [email protected]> wrote:
>
>> 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