Adding pagination to the instance views

Modifying the api.nova.server_list() method to optionally handle
pagination.  The method will also work without pagination to
support the many other place than the instance views that continue
to call the method.

Fixes: bug #1046915

Change-Id: I8195f1f2d8922e1722743d7a2d627a8645e8b3bd
This commit is contained in:
David Lyle
2013-03-14 08:43:33 -06:00
parent de1940c922
commit 81247fda00
17 changed files with 194 additions and 78 deletions

View File

@@ -132,7 +132,8 @@ class FloatingIpViewTests(test.TestCase):
self.mox.StubOutWithMock(api.nova, 'server_list')
api.nova.server_list(IsA(http.HttpRequest),
all_tenants=True).AndReturn(self.servers.list())
all_tenants=True).AndReturn([self.servers.list(),
False])
api.network.tenant_floating_ip_list(IsA(http.HttpRequest)) \
.AndReturn(self.floating_ips.list())
api.network.floating_ip_disassociate(IsA(http.HttpRequest),
@@ -154,7 +155,8 @@ class FloatingIpViewTests(test.TestCase):
self.mox.StubOutWithMock(api.nova, 'server_list')
api.nova.server_list(IsA(http.HttpRequest),
all_tenants=True).AndReturn(self.servers.list())
all_tenants=True).AndReturn([self.servers.list(),
False])
api.network.tenant_floating_ip_list(IsA(http.HttpRequest)) \
.AndReturn(self.floating_ips.list())

View File

@@ -91,7 +91,8 @@ class FloatingIPsTab(tabs.TableTab):
instances = []
try:
instances = nova.server_list(self.request, all_tenants=True)
instances, has_more = nova.server_list(self.request,
all_tenants=True)
except:
exceptions.handle(self.request,
_('Unable to retrieve instance list.'))

View File

@@ -43,7 +43,8 @@ class AccessAndSecurityTests(test.TestCase):
self.mox.StubOutWithMock(api.nova, 'server_list')
api.nova.server_list(IsA(http.HttpRequest),
all_tenants=True).AndReturn(self.servers.list())
all_tenants=True).AndReturn([self.servers.list(),
False])
api.nova.keypair_list(IsA(http.HttpRequest)).AndReturn(keypairs)
api.network.tenant_floating_ip_list(IsA(http.HttpRequest)) \
.AndReturn(floating_ips)