From 98d2a4deb7ccd8635ab2d4f21a5601922990a44d Mon Sep 17 00:00:00 2001 From: Kushal Agrawal Date: Tue, 10 Apr 2018 16:11:26 +0530 Subject: [PATCH] Marker support for next page in list command Marker is required to get the next page in list api in case there are more records available either because of custom limit provided in request or because of default limit configured in system (client and server). ex: glare list all --limit=5 --marker= Change-Id: I9f5c890c46b7f1f1e6fefdb7320c4fe00a2b0972 Closes-bug: #1755995 --- glareclient/osc/v1/artifacts.py | 8 +++++++- glareclient/v1/artifacts.py | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/glareclient/osc/v1/artifacts.py b/glareclient/osc/v1/artifacts.py index 1957ab4..9ab99e3 100644 --- a/glareclient/osc/v1/artifacts.py +++ b/glareclient/osc/v1/artifacts.py @@ -81,6 +81,11 @@ class ListArtifacts(command.Lister): help='Comma-separated list of sort keys and directions in the ' 'form of [:].', ) + parser.add_argument( + '--marker', '-m', + metavar='', + help="id of last artifact in previous list request" + ) return parser def take_action(self, parsed_args): @@ -89,7 +94,8 @@ class ListArtifacts(command.Lister): params = {'limit': parsed_args.limit, 'filters': [f.split('=', 1) for f in parsed_args.filter], 'sort': parsed_args.sort, - 'page_size': parsed_args.page_size} + 'page_size': parsed_args.page_size, + 'marker': parsed_args.marker} type_name = parsed_args.type_name diff --git a/glareclient/v1/artifacts.py b/glareclient/v1/artifacts.py index a73f176..bfe549b 100644 --- a/glareclient/v1/artifacts.py +++ b/glareclient/v1/artifacts.py @@ -180,6 +180,8 @@ class Controller(object): filters = kwargs.get('filters', []) filters.append(('limit', page_size)) + if kwargs.get('marker'): + filters.append(('marker', kwargs.get('marker'))) url_params = [] for param, items in filters: