diff --git a/doc/source/command-objects/server.rst b/doc/source/command-objects/server.rst index 405c18308b..70b4748251 100644 --- a/doc/source/command-objects/server.rst +++ b/doc/source/command-objects/server.rst @@ -188,6 +188,7 @@ List servers [--project [--project-domain ]] [--long] [--marker ] + [--limit ] .. option:: --reservation-id @@ -256,6 +257,12 @@ List servers The last server (name or ID) of the previous page. Display list of servers after marker. Display all servers if not specified. +.. option:: --limit + + Maximum number of servers to display. If limit equals -1, all servers will + be displayed. If limit is greater than 'osapi_max_limit' option of Nova + API, 'osapi_max_limit' will be used instead. + server lock ----------- diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index c35f1dd2e3..9dca784487 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -755,6 +755,16 @@ class ListServer(lister.Lister): ' list of servers after marker. Display all servers if not' ' specified.') ) + parser.add_argument( + '--limit', + metavar='', + type=int, + default=None, + help=("Maximum number of servers to display. If limit equals -1," + " all servers will be displayed. If limit is greater than" + " 'osapi_max_limit' option of Nova API," + " 'osapi_max_limit' will be used instead."), + ) return parser @utils.log_method(log) @@ -845,7 +855,8 @@ class ListServer(lister.Lister): parsed_args.marker).id data = compute_client.servers.list(search_opts=search_opts, - marker=marker_id) + marker=marker_id, + limit=parsed_args.limit) return (column_headers, (utils.get_item_properties( s, columns,