summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-02-03 11:34:25 +0000
committerGerrit Code Review <review@openstack.org>2016-02-03 11:34:25 +0000
commitfeb71897fbcada51f894a60946d95fbb8f4a3c7a (patch)
treeb2ae10b9912484f9d96c5d8df8380f723bbf2945
parent34e4e1ac3e86fb698fc5e33bc7222a22338cbe3c (diff)
parent581280386533f8780a8d2e73495d3eff38c9ad50 (diff)
downloadpython-openstackclient-feb71897fbcada51f894a60946d95fbb8f4a3c7a.tar.gz
Merge "Add limit option to "image list" command"
-rw-r--r--doc/source/command-objects/image.rst5
-rw-r--r--openstackclient/image/v2/image.py8
-rw-r--r--openstackclient/tests/image/v2/test_image.py17
-rw-r--r--releasenotes/notes/bug-1540988-17841cfd5accf7f5.yaml6
4 files changed, 36 insertions, 0 deletions
diff --git a/doc/source/command-objects/image.rst b/doc/source/command-objects/image.rst
index 15286760..94745e06 100644
--- a/doc/source/command-objects/image.rst
+++ b/doc/source/command-objects/image.rst
@@ -167,6 +167,7 @@ List available images
[--property <key=value>]
[--long]
[--sort <key>[:<direction>]]
+ [--limit <limit>]
.. option:: --public
@@ -195,6 +196,10 @@ List available images
Sort output by selected keys and directions(asc or desc) (default: asc),
multiple keys and directions can be specified separated by comma
+.. option:: --limit <limit>
+
+ Maximum number of images to display.
+
image save
----------
diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py
index 842c6f20..67d0e7f3 100644
--- a/openstackclient/image/v2/image.py
+++ b/openstackclient/image/v2/image.py
@@ -431,6 +431,12 @@ class ListImage(command.Lister):
"(default: asc), multiple keys and directions can be "
"specified separated by comma",
)
+ parser.add_argument(
+ "--limit",
+ metavar="<limit>",
+ type=int,
+ help="Maximum number of images to display.",
+ )
return parser
def take_action(self, parsed_args):
@@ -443,6 +449,8 @@ class ListImage(command.Lister):
kwargs['private'] = True
if parsed_args.shared:
kwargs['shared'] = True
+ if parsed_args.limit:
+ kwargs['limit'] = parsed_args.limit
if parsed_args.long:
columns = (
diff --git a/openstackclient/tests/image/v2/test_image.py b/openstackclient/tests/image/v2/test_image.py
index b02b3795..3e31d0ad 100644
--- a/openstackclient/tests/image/v2/test_image.py
+++ b/openstackclient/tests/image/v2/test_image.py
@@ -655,6 +655,23 @@ class TestImageList(TestImage):
self.assertEqual(self.columns, columns)
self.assertEqual(self.datalist, tuple(data))
+ def test_image_list_limit_option(self):
+ arglist = [
+ '--limit', str(1),
+ ]
+ verifylist = [
+ ('limit', 1),
+ ]
+ 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,
+ )
+
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(len(self.datalist), len(tuple(data)))
+
class TestRemoveProjectImage(TestImage):
diff --git a/releasenotes/notes/bug-1540988-17841cfd5accf7f5.yaml b/releasenotes/notes/bug-1540988-17841cfd5accf7f5.yaml
new file mode 100644
index 00000000..56b502eb
--- /dev/null
+++ b/releasenotes/notes/bug-1540988-17841cfd5accf7f5.yaml
@@ -0,0 +1,6 @@
+---
+features:
+ - |
+ Add ``--limit`` option to ``image list`` to limit the number of images
+ in output.
+ [Bug `1540988 <https://bugs.launchpad.net/bugs/1540988>`_]