2013-03-20 206 views
1

我知道有可能通过id获取用户,但所有可用的都是名称。任何人都知道如何使用keystone客户端2.0版来获取用户名?OpenStack keystoneclient通过名称获取用户

from keystoneclient.v2_0 import client 
keystone = client.Client(username=USER, 
         password=PASS, 
         tenant_name=TENANT_NAME, 
         auth_url=KEYSTONE_URL) 
user = keystone.users.get(USER_ID) 

需要像下面* * keystone.users.getByName(USER_NAME)

回答

2

想出一个办法,从keystoneclient做到这一点。有点。

例子:

#!/usr/bin/env python 

from keystoneclient.v2_0 import client 
from keystoneclient import utils 

keystone = client.Client(username='admin', 
         password='stack', 
         tenant_name='demo', 
         auth_url='http://192.168.122.236:5000/v2.0/') 


def do_user_get(kc, args): 
    """Display user details.""" 
    user = utils.find_resource(kc.users, args) 
    utils.print_dict(user._info) 

do_user_get (keystone, 'demo') 

利用除了utils的向client.users

有在UTIL你可能想看看一些额外的解析功能。

+0

这个东西需要更好的文档。如果你想帮忙填补这个问题,请在openstack-dev列表中温和地平安。 – 2013-03-21 06:11:29