Tenant list should not be retrieved in middleware

Bug #942074 reported by Christian Berendt on 2012-02-27
This bug affects 3 people
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Gabriel Hurley

Bug Description

Dashboard/Horizon is working (I can login, I can see my images, ..) but it is incredible slow.

In the error log of Apache2 I receive all the time the following error:

ERROR:horizon.middleware:Could not retrieve tenant list.

(Full traceback: http://paste.openstack.org/show/5212/

Here is the full traceback of the keystone site: http://paste.openstack.org/show/5214/

I'm running the latest dashboard, the latest keystone and the latest keystoneclient.

Christian Berendt (berendt) wrote :

I still have the error on an other enviroment, but without the slowness. the slowness was an error in my setup (i used a lot of lxc containers on one system).

Changed in horizon:
assignee: nobody → Emma Grace Steimann (emmasteimann)
Devin Carlen (devcamcar) on 2012-03-02
Changed in horizon:
milestone: none → essex-rc1
status: New → Confirmed
Changed in horizon:
assignee: Emma Grace Steimann (emmasteimann) → nobody
Gabriel Hurley (gabriel-hurley) wrote :

I've been wanting to fix this for some time. The problem is the API call to keystone in the middleware, which, on a slow or unreachable endpoint, causes massive problems. The data there is, in fact, only being used by the "nova" dashboard's project switcher. We can definitely improve this behavior, as waiting for a response timeout before the request continues processing is really bad behavior.

Changed in horizon:
assignee: nobody → Gabriel Hurley (gabriel-hurley)
importance: Undecided → Medium
summary: - ERROR:horizon.middleware:Could not retrieve tenant list.
+ Tenant list should not be retrieved in middleware
Changed in horizon:
status: Confirmed → In Progress

Reviewed: https://review.openstack.org/5297
Committed: http://github.com/openstack/horizon/commit/382a5105c44ced79801b450e485e94acae39a7e0
Submitter: Jenkins
Branch: master

commit 382a5105c44ced79801b450e485e94acae39a7e0
Author: Gabriel Hurley <email address hidden>
Date: Tue Mar 13 15:09:12 2012 -0700

    User.authorized_tenants is now a cached property.

    This allows moving the call to get authorized tenants out of
    the middleware (which was a wasteful call on many requests),
    and allows the value to be re-used anytime it's accessed more
    than once per request.

    Fixes bug 942074.

    Change-Id: Ic09b15adbffb16c0358bb28aec73345cc01834ad

Changed in horizon:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2012-03-20
Changed in horizon:
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2012-04-05
Changed in horizon:
milestone: essex-rc1 → 2012.1
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers