Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1112560

Summary: Can not get volume list when 1K volumes exists under tenant
Product: Red Hat OpenStack Reporter: bkopilov <bkopilov>
Component: python-django-horizonAssignee: Julie Pichon <jpichon>
Status: CLOSED CURRENTRELEASE QA Contact: bkopilov <bkopilov>
Severity: high Docs Contact:
Priority: medium    
Version: 5.0 (RHEL 7)CC: aortega, athomas, bkopilov, eharney, jpichon, juwu, mrunge, sgordon, yeylon
Target Milestone: gaKeywords: Triaged
Target Release: 6.0 (Juno)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-django-horizon-2014.2-4.el7ost Doc Type: Enhancement
Doc Text:
This feature improves the page loading performance when displaying the Project Volumes page.
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-09 20:05:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1113477    
Bug Blocks:    

Description bkopilov 2014-06-24 08:18:04 UTC
Description of problem:
distributted setup  , controller and computes

Create 1400 volumes  , not all are available due to errors
Tenant set to limit till 10K for volumes.
When login to horizon we see limits ~1400 volumes but once we trying to get the list of all volumes - action takes minutes ... 










Version-Release number of selected component (if applicable):


How reproducible:
Create volumes with api cinder-client .
cinder.volumes.create("1")  * 1400 

Try to login to horizon ,  to the project .
Got to Volumes

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Matthias Runge 2014-06-25 07:16:53 UTC
Do you still have the setup to inspect?

You're reporting, it takes time to load the page with 1400 Volumes? Is that the issue (just to verify)

Comment 3 Julie Pichon 2014-06-25 08:48:57 UTC
How long does the operation take with CLI?

Comment 5 bkopilov 2014-06-25 09:06:28 UTC
(In reply to Julie Pichon from comment #3)
> How long does the operation take with CLI?

It take time from cinder list too  , but i am expecting from openstack horizon work in paging if doable.

Comment 6 Julie Pichon 2014-06-25 09:21:09 UTC
(In reply to bkopilov from comment #5)
> (In reply to Julie Pichon from comment #3)
> > How long does the operation take with CLI?
> 
> It take time from cinder list too  , but i am expecting from openstack
> horizon work in paging if doable.

Unfortunately it doesn't look like Cinder v1 supports pagination, now or in the future: https://bugs.launchpad.net/cinder/+bug/1321652 

Work is on-going now to add pagination support to the dashboard when using Cinder v2 at https://bugs.launchpad.net/horizon/+bug/1316793 . We can backport it to 5.0 when the patch is ready.

I'm adding eharney as a needinfo to confirm I've got my understanding of the current pagination status in Cinder right. Thanks!

Comment 7 Julie Pichon 2014-06-25 09:34:26 UTC
This is not a new problem, I would suggest handling it as a ZStream update.

Comment 8 Matthias Runge 2014-06-25 09:43:03 UTC
OK, in that setup, it takes 2:05 mins to list 1000 volumes; cli takes 38 secs.

Comment 9 Eric Harney 2014-06-25 19:39:28 UTC
(In reply to Julie Pichon from comment #6)

Cinder's v2 API supports pagination.  Cinderclient doesn't yet support it:

https://bugs.launchpad.net/python-cinderclient/+bug/1325773

Comment 10 Julie Pichon 2014-06-26 09:26:54 UTC
Thanks for the info and helpful link to upstream, Eric.

Comment 11 Julie Pichon 2014-06-26 11:13:59 UTC
There are other issues than pagination that the dashboard could already optimise on to try and match the CLI times a bit more closely. It looks like the volumes list is called 3 times when loading the page. At least one of these can easily be removed, while the last one may require a bit more debugging. I filed https://bugs.launchpad.net/horizon/+bug/1334608 upstream to track the progress on this.

Comment 12 Eric Harney 2014-07-09 14:45:49 UTC
This may be helped by this Cinder fix, regardless of pagination: https://bugs.launchpad.net/cinder/+bug/1317606

Comment 13 Julie Pichon 2014-07-09 15:33:33 UTC
Thank you for the link Eric! Indeed this should help a ton with mitigating the issue here, and I see this is backported to Icehouse already, which is awesome.

Comment 15 Stephen Gordon 2014-09-04 13:13:19 UTC
Hi Julie,

Can you update the bug to make it clearer what's outstanding from a Horizon POV?

Thanks!

Comment 16 Julie Pichon 2014-09-04 13:58:49 UTC
Hi Steve,

From the Horizon side, nearly all of the work is merged for Juno except for pagination (which will only apply to Cinder v2).

The remaining work is to determine what can be reasonably backported since this BZ is targeted for 5.0. Pagination is likely not a contender since it requires a cinderclient bump, hasn't merged yet and won't help with Cinder v1. The preloading work is useful but a bit awkward to backport because of the dependent patch (in Javascript, harder to unit test for regressions currently) though we could make it work. The patch on making the limits calls more efficient (review 104897) looks to be self-contained and easy enough to backport, I'll propose a patch for it in the coming days.

Overall though, I think that the Cinder fix mentioned by Eric Harney in comment 12 is the one that has the biggest impact on improving performance, and it has already been backported to Icehouse (2014.1.2).

Comment 18 Julie Pichon 2014-09-23 05:54:38 UTC
Marking as POST for the improvements that have been merged in Juno. Looking at its current status, the Cinder v2 pagination patch is likely slipping to K.

How to test:
------------
1. Create 1000 volumes
2. Time how long it takes to list them on the CLI (as a regular user)
3. Time how long it takes to list them using the Project -> Volumes page in Horizon (with the same user).

I'd expect Horizon to take longer but not as long as it used to (see comment 8).

Comment 19 Scott Lewis 2015-02-09 20:05:03 UTC
This bug has been closed as a part of the RHEL-OSP 6 general availability release. For details, see https://rhn.redhat.com/errata/rhel7-rhos-6-errata.html