diff options
| author | Jose Castro Leon <jose.castro.leon@cern.ch> | 2020-03-12 14:43:18 +0100 |
|---|---|---|
| committer | Jose Castro Leon <jose.castro.leon@cern.ch> | 2020-03-12 14:43:18 +0100 |
| commit | 3e83e7471b57ed1a2c29a5402059e21da6db0666 (patch) | |
| tree | abd7969b94782f199fa2a68dab819491ef36d5d7 /openstackclient/common | |
| parent | 962efd949feb461283a9bb4a668fbd310f80ba40 (diff) | |
| download | python-openstackclient-3e83e7471b57ed1a2c29a5402059e21da6db0666.tar.gz | |
Allow os quota list query to filter by project
In the os quota list command, project parameter is completely ignored
ending up in a request to all projects and then all quotas. This patch
enables back the parameter and does a single call to quotas if specified.
Change-Id: Ie17c256e2bdc307dcd94ad5be7abdbffa776d369
Story: 2007422
Task: 39043
Diffstat (limited to 'openstackclient/common')
| -rw-r--r-- | openstackclient/common/quota.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/openstackclient/common/quota.py b/openstackclient/common/quota.py index 37437344..71b8ea61 100644 --- a/openstackclient/common/quota.py +++ b/openstackclient/common/quota.py @@ -274,9 +274,18 @@ class ListQuota(command.Lister, BaseQuota): return parser def take_action(self, parsed_args): - projects = self.app.client_manager.identity.projects.list() result = [] - project_ids = [getattr(p, 'id', '') for p in projects] + project_ids = [] + if parsed_args.project is None: + for p in self.app.client_manager.identity.projects.list(): + project_ids.append(getattr(p, 'id', '')) + else: + identity_client = self.app.client_manager.identity + project = utils.find_resource( + identity_client.projects, + parsed_args.project, + ) + project_ids.append(getattr(project, 'id', '')) if parsed_args.compute: if parsed_args.detail: |
