Skip to content

Commit feb7189

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Add limit option to "image list" command"
2 parents 34e4e1a + 5812803 commit feb7189

4 files changed

Lines changed: 36 additions & 0 deletions

File tree

doc/source/command-objects/image.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ List available images
167167
[--property <key=value>]
168168
[--long]
169169
[--sort <key>[:<direction>]]
170+
[--limit <limit>]
170171
171172
.. option:: --public
172173
@@ -195,6 +196,10 @@ List available images
195196
Sort output by selected keys and directions(asc or desc) (default: asc),
196197
multiple keys and directions can be specified separated by comma
197198
199+
.. option:: --limit <limit>
200+
201+
Maximum number of images to display.
202+
198203
image save
199204
----------
200205

openstackclient/image/v2/image.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,12 @@ def get_parser(self, prog_name):
431431
"(default: asc), multiple keys and directions can be "
432432
"specified separated by comma",
433433
)
434+
parser.add_argument(
435+
"--limit",
436+
metavar="<limit>",
437+
type=int,
438+
help="Maximum number of images to display.",
439+
)
434440
return parser
435441

436442
def take_action(self, parsed_args):
@@ -443,6 +449,8 @@ def take_action(self, parsed_args):
443449
kwargs['private'] = True
444450
if parsed_args.shared:
445451
kwargs['shared'] = True
452+
if parsed_args.limit:
453+
kwargs['limit'] = parsed_args.limit
446454

447455
if parsed_args.long:
448456
columns = (

openstackclient/tests/image/v2/test_image.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,23 @@ def test_image_list_sort_option(self, si_mock):
655655
self.assertEqual(self.columns, columns)
656656
self.assertEqual(self.datalist, tuple(data))
657657

658+
def test_image_list_limit_option(self):
659+
arglist = [
660+
'--limit', str(1),
661+
]
662+
verifylist = [
663+
('limit', 1),
664+
]
665+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
666+
667+
columns, data = self.cmd.take_action(parsed_args)
668+
self.api_mock.image_list.assert_called_with(
669+
limit=1,
670+
)
671+
672+
self.assertEqual(self.columns, columns)
673+
self.assertEqual(len(self.datalist), len(tuple(data)))
674+
658675

659676
class TestRemoveProjectImage(TestImage):
660677

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
features:
3+
- |
4+
Add ``--limit`` option to ``image list`` to limit the number of images
5+
in output.
6+
[Bug `1540988 <https://bugs.launchpad.net/bugs/1540988>`_]

0 commit comments

Comments
 (0)