From 3c7b5185ca1eb89a00c54a57bb9ef028bcb290bb Mon Sep 17 00:00:00 2001 From: TerryHowe Date: Tue, 14 Apr 2015 11:03:22 -0600 Subject: Handle the pagination for image list Handle the paginatiion for image list. We were sorting the data here, so nothing lost for the generator. Change-Id: I2d7d4b3d5c9f650953f309c971ac53b64f6f7f77 --- openstackclient/image/v1/image.py | 12 +++++++++++- openstackclient/image/v2/image.py | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) (limited to 'openstackclient/image') diff --git a/openstackclient/image/v1/image.py b/openstackclient/image/v1/image.py index 127a7735..7f5f5af9 100644 --- a/openstackclient/image/v1/image.py +++ b/openstackclient/image/v1/image.py @@ -405,7 +405,17 @@ class ListImage(lister.Lister): columns = ("ID", "Name") column_headers = columns - data = image_client.api.image_list(**kwargs) + # List of image data received + data = [] + # No pages received yet, so start the page marker at None. + marker = None + while True: + page = image_client.api.image_list(marker=marker, **kwargs) + if not page: + break + data.extend(page) + # Set the marker to the id of the last item we received + marker = page[-1]['id'] if parsed_args.property: # NOTE(dtroyer): coerce to a list to subscript it in py3 diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py index afc99e85..eb82c910 100644 --- a/openstackclient/image/v2/image.py +++ b/openstackclient/image/v2/image.py @@ -156,7 +156,17 @@ class ListImage(lister.Lister): columns = ("ID", "Name") column_headers = columns - data = image_client.api.image_list(**kwargs) + # List of image data received + data = [] + # No pages received yet, so start the page marker at None. + marker = None + while True: + page = image_client.api.image_list(marker=marker, **kwargs) + if not page: + break + data.extend(page) + # Set the marker to the id of the last item we received + marker = page[-1]['id'] if parsed_args.property: # NOTE(dtroyer): coerce to a list to subscript it in py3 -- cgit v1.2.1