summaryrefslogtreecommitdiff
path: root/openstackclient/identity
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-04-23 23:11:48 +0000
committerGerrit Code Review <review@openstack.org>2014-04-23 23:11:48 +0000
commit845f6705bf65725830b1a7bba22870f177668d86 (patch)
tree88621faceaca26aa8f9d0047a9789d484375ae88 /openstackclient/identity
parent8ec78a10f8ee35b607c4a7c0260de31178cdf5b0 (diff)
parente72072adc3b62b5ef8e3076169fed19dea9995f7 (diff)
downloadpython-openstackclient-845f6705bf65725830b1a7bba22870f177668d86.tar.gz
Merge "Fix the project option to user list so it filters"
Diffstat (limited to 'openstackclient/identity')
-rw-r--r--openstackclient/identity/v2_0/user.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/openstackclient/identity/v2_0/user.py b/openstackclient/identity/v2_0/user.py
index 628be4b8..688306ba 100644
--- a/openstackclient/identity/v2_0/user.py
+++ b/openstackclient/identity/v2_0/user.py
@@ -156,6 +156,7 @@ class ListUser(lister.Lister):
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
+ identity_client = self.app.client_manager.identity
def _format_project(project):
if not project:
@@ -165,6 +166,14 @@ class ListUser(lister.Lister):
else:
return project
+ project = None
+ if parsed_args.project:
+ project = utils.find_resource(
+ identity_client.tenants,
+ parsed_args.project,
+ )
+ project = project.id
+
if parsed_args.long:
columns = (
'ID',
@@ -183,14 +192,20 @@ class ListUser(lister.Lister):
# Cache the project list
project_cache = {}
try:
- for p in self.app.client_manager.identity.tenants.list():
+ for p in identity_client.tenants.list():
project_cache[p.id] = p
except Exception:
# Just forget it if there's any trouble
pass
else:
columns = column_headers = ('ID', 'Name')
- data = self.app.client_manager.identity.users.list()
+ data = identity_client.users.list(tenant_id=project)
+
+ if parsed_args.project:
+ d = {}
+ for s in data:
+ d[s.id] = s
+ data = d.values()
if parsed_args.long:
# FIXME(dtroyer): Sometimes user objects have 'tenant_id' instead