Fix --limit option in image list sub-command

Client site fix of --limit option.

This bugfix makes client "image list" command working again with
"--limit" option. This option was ignored and even if user specified it,
still list of all available images was returned.

Story: 2004314
Change-Id: I30a78d65a644c9b7d23706a6637ce77bca2c2386
Depends-On: https://review.openstack.org/#/c/634776/
This commit is contained in:
Radoslaw Smigielski 2018-12-10 19:18:05 +01:00 committed by Dean Troyer
parent b90c780d2b
commit aaf73cbf6d
3 changed files with 15 additions and 4 deletions

View File

@ -630,6 +630,9 @@ class ListImage(command.Lister):
# List of image data received
data = []
limit = None
if 'limit' in kwargs:
limit = kwargs['limit']
if 'marker' in kwargs:
data = image_client.api.image_list(**kwargs)
else:
@ -642,6 +645,8 @@ class ListImage(command.Lister):
data.extend(page)
# Set the marker to the id of the last item we received
marker = page[-1]['id']
if limit:
break
if parsed_args.property:
for attr, value in parsed_args.property.items():

View File

@ -744,21 +744,22 @@ class TestImageList(TestImage):
self.assertEqual(self.datalist, tuple(data))
def test_image_list_limit_option(self):
ret_limit = 1
arglist = [
'--limit', str(1),
'--limit', str(ret_limit),
]
verifylist = [
('limit', 1),
('limit', ret_limit),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
self.api_mock.image_list.assert_called_with(
limit=1, marker=self._image.id
limit=ret_limit, marker=None
)
self.assertEqual(self.columns, columns)
self.assertEqual(len(self.datalist), len(tuple(data)))
self.assertEqual(ret_limit, len(tuple(data)))
@mock.patch('osc_lib.utils.find_resource')
def test_image_list_marker_option(self, fr_mock):

View File

@ -0,0 +1,5 @@
---
fixes:
- |
The ``--limit`` option of the ``image list`` command was previously ignored.
[Bug `https://storyboard.openstack.org/#!/story/2004314`]