Created
October 11, 2013 02:52
-
-
Save zqfan/6928881 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/env python | |
import json | |
import os | |
import sys | |
from keystoneclient import utils | |
from keystoneclient.v2_0 import client | |
if not sys.argv[1:]: | |
print '[argument error]: no user specified!' | |
print 'usage: user-tenant-list user-name' | |
print ' user-name can be name or uuid of an user' | |
sys.exit(1) | |
user_name = sys.argv[1] | |
username = os.environ.get('OS_USERNAME') | |
password = os.environ.get('OS_PASSWORD') | |
tenant = os.environ.get('OS_TENANT_NAME') | |
auth_url = os.environ.get('OS_AUTH_URL') | |
keystone = client.Client(username=username, | |
password=password, | |
tenant_name=tenant, | |
auth_url=auth_url) | |
tenants = keystone.tenants.list() | |
users = keystone.users.list() | |
for _user in users: | |
if _user.id == user_name or _user.name == user_name: | |
user = _user | |
break | |
else: | |
print '[error]: user %s is not found.' % user_name | |
sys.exit(1) | |
user_tenants = [] | |
for tenant in tenants: | |
users = keystone.tenants.list_users(tenant) | |
if user in users: | |
user_tenants.append(tenant) | |
utils.print_list(user_tenants, ['id', 'name', 'enabled', 'description']) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment