diff options
| author | kafka <guowang@unitedstack.com> | 2015-08-12 12:07:34 +0800 |
|---|---|---|
| committer | Steve Martinelli <stevemar@ca.ibm.com> | 2015-09-08 18:36:56 +0000 |
| commit | 10db0df857f8982110b67094f237384acda2fa3a (patch) | |
| tree | 108648d772574e3f1e1f60cd60fb665df467a184 /openstackclient | |
| parent | 66010b41f128d415aff6aedde3f21981117600a6 (diff) | |
| download | python-openstackclient-10db0df857f8982110b67094f237384acda2fa3a.tar.gz | |
Add filtering by user for 'openstack server list'
Add a new option to search by user when listing servers,
include support for domain scoped users, also update
docs
Co-Authored-By: Steve Martinelli <stevemar@ca.ibm.com>
Closes-Bug: #1483974
Change-Id: Ifdade6dc9ca8400fbd85f6b55793ab15ed17b97d
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/compute/v2/server.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index a246a04d..30a1b063 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -700,6 +700,12 @@ class ListServer(lister.Lister): help="Search by project (admin only) (name or ID)") identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( + '--user', + metavar='<user>', + help=_('Search by user (admin only) (name or ID)'), + ) + identity_common.add_user_domain_option_to_parser(parser) + parser.add_argument( '--long', action='store_true', default=False, @@ -710,10 +716,10 @@ class ListServer(lister.Lister): def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) compute_client = self.app.client_manager.compute + identity_client = self.app.client_manager.identity project_id = None if parsed_args.project: - identity_client = self.app.client_manager.identity project_id = identity_common.find_project( identity_client, parsed_args.project, @@ -721,6 +727,14 @@ class ListServer(lister.Lister): ).id parsed_args.all_projects = True + user_id = None + if parsed_args.user: + user_id = identity_common.find_project( + identity_client, + parsed_args.user, + parsed_args.user_domain, + ).id + search_opts = { 'reservation_id': parsed_args.reservation_id, 'ip': parsed_args.ip, @@ -733,6 +747,7 @@ class ListServer(lister.Lister): 'host': parsed_args.host, 'tenant_id': project_id, 'all_tenants': parsed_args.all_projects, + 'user_id': user_id, } self.log.debug('search options: %s', search_opts) |
