Skip to content

Instantly share code, notes, and snippets.

@zqfan
Created October 11, 2013 02:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zqfan/6928881 to your computer and use it in GitHub Desktop.
Save zqfan/6928881 to your computer and use it in GitHub Desktop.
#! /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
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