Add project param in LimitList parser

when doing openstack limit list --project xyz_id,
CLI raising error unrecognized arguments, whereas
in api-ref document [1], user can pass project_id
as query param.This addresses the above issue, by
adding param --project in parser of LimitList.

[1] https://developer.openstack.org/api-ref/identity/v3/index.html

Change-Id: If4644cc99a3803f61f4a688b828aeb73977fc0dd
Closes-Bug: #1798744
This commit is contained in:
Vishakha Agarwal 2018-10-19 12:29:00 +05:30 committed by Dean Troyer
parent 02f492ae4c
commit 0d764cdb5a
4 changed files with 23 additions and 2 deletions

View File

@ -73,6 +73,7 @@ List project-specific limits
[--service <service>] [--service <service>]
[--resource-name <resource-name>] [--resource-name <resource-name>]
[--region <region>] [--region <region>]
[--project <project>]
.. option:: --service <service> .. option:: --service <service>
@ -86,6 +87,10 @@ List project-specific limits
The region name to filter the response by The region name to filter the response by
.. option:: --project <project>
List resource limits associated with project
limit show limit show
---------- ----------

View File

@ -116,6 +116,11 @@ class ListLimit(command.Lister):
metavar='<region>', metavar='<region>',
help=_('Region for the registered limit to affect.'), help=_('Region for the registered limit to affect.'),
) )
parser.add_argument(
'--project',
metavar='<project>',
help=_('List resource limits associated with project'),
)
return parser return parser
def take_action(self, parsed_args): def take_action(self, parsed_args):
@ -131,11 +136,17 @@ class ListLimit(command.Lister):
region = utils.find_resource( region = utils.find_resource(
identity_client.regions, parsed_args.region identity_client.regions, parsed_args.region
) )
project = None
if parsed_args.project:
project = utils.find_resource(
identity_client.projects, parsed_args.project
)
limits = identity_client.limits.list( limits = identity_client.limits.list(
service=service, service=service,
resource_name=parsed_args.resource_name, resource_name=parsed_args.resource_name,
region=region region=region,
project=project
) )
columns = ( columns = (

View File

@ -362,7 +362,8 @@ class TestLimitList(TestLimit):
columns, data = self.cmd.take_action(parsed_args) columns, data = self.cmd.take_action(parsed_args)
self.limit_mock.list.assert_called_with( self.limit_mock.list.assert_called_with(
service=None, resource_name=None, region=None service=None, resource_name=None, region=None,
project=None
) )
collist = ( collist = (

View File

@ -0,0 +1,4 @@
---
features:
- Add ``--project`` option to ``limit list`` command.
[Bug `1798744 <https://bugs.launchpad.net/python-openstackclient/+bug/1798744>`_]