Add --limit option to "server list" command.

This option will limit the total amount of items the command will list up.

Change-Id: I46af0d479d795ebb6a74585d0f76629dd940b117
This commit is contained in:
Tang Chen 2015-11-17 21:44:02 +08:00
parent b36b477e81
commit 43c11c356b
2 changed files with 19 additions and 1 deletions
doc/source/command-objects
openstackclient/compute/v2

@ -188,6 +188,7 @@ List servers
[--project <project> [--project-domain <project-domain>]] [--project <project> [--project-domain <project-domain>]]
[--long] [--long]
[--marker <server>] [--marker <server>]
[--limit <limit>]
.. option:: --reservation-id <reservation-id> .. option:: --reservation-id <reservation-id>
@ -256,6 +257,12 @@ List servers
The last server (name or ID) of the previous page. Display list of servers The last server (name or ID) of the previous page. Display list of servers
after marker. Display all servers if not specified. after marker. Display all servers if not specified.
.. option:: --limit <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 server lock
----------- -----------

@ -755,6 +755,16 @@ class ListServer(lister.Lister):
' list of servers after marker. Display all servers if not' ' list of servers after marker. Display all servers if not'
' specified.') ' specified.')
) )
parser.add_argument(
'--limit',
metavar='<limit>',
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 return parser
@utils.log_method(log) @utils.log_method(log)
@ -845,7 +855,8 @@ class ListServer(lister.Lister):
parsed_args.marker).id parsed_args.marker).id
data = compute_client.servers.list(search_opts=search_opts, data = compute_client.servers.list(search_opts=search_opts,
marker=marker_id) marker=marker_id,
limit=parsed_args.limit)
return (column_headers, return (column_headers,
(utils.get_item_properties( (utils.get_item_properties(
s, columns, s, columns,