get_attachment_name() makes a lot of unnecessary calls to Nova

Bug #1508568 reported by Timur Sufiev
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Fix Released
Medium
Ivan Kolodyazhny

Bug Description

Due to some unexpected condition the `else` branch here https://github.com/openstack/horizon/blob/stable/juno/openstack_dashboard/dashboards/project/volumes/volumes/tables.py#L268 is often hit, this causes a lot of requests to Nova made while rendering Admin->Volumes panel (even with all required instances already collected one time).

Timur Sufiev (tsufiev-x)
Changed in horizon:
assignee: nobody → Paul Karikh (pkarikh)
Timur Sufiev (tsufiev-x)
tags: added: large-scale
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (master)

Fix proposed to branch: master
Review: https://review.openstack.org/241224

Changed in horizon:
assignee: Paul Karikh (pkarikh) → Timur Sufiev (tsufiev-x)
status: New → In Progress
Timur Sufiev (tsufiev-x)
Changed in horizon:
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on horizon (master)

Change abandoned by David Lyle (<email address hidden>) on branch: master
Review: https://review.openstack.org/241224
Reason: This review is > 4 weeks without comment, and failed Jenkins the last time it was checked. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and leaving a 'recheck' comment to get fresh test results.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Rob Cresswell (<email address hidden>) on branch: master
Review: https://review.openstack.org/241224
Reason: Due to inactivity and merge conflict

Ivan Kolodyazhny (e0ne)
Changed in horizon:
assignee: Timur Sufiev (tsufiev-x) → Ivan Kolodyazhny (e0ne)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (master)

Reviewed: https://review.openstack.org/241224
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=3a99499ba0adafd1e64262a5ba63ae94b1f05cf0
Submitter: Jenkins
Branch: master

commit 3a99499ba0adafd1e64262a5ba63ae94b1f05cf0
Author: Ivan Kolodyazhny <email address hidden>
Date: Wed May 24 13:00:46 2017 +0300

    Get all needed instances for volumes attachments at Admin->Volumes

    Nova server_list() wrapper needs to receive an explicit `all_tenants`
    boolean flag in order to request instances for _all_ tenants -
    otherwise while rendering Admin->Volumes table Django will request
    missing instances (to get their names for volume attachments) one by
    one, thus significantly increasing response time.

    This patch adds check if all_tenants in search_opts and add it to
    the search else uses tenant_id in the search_opts.

    Co-Authored-By: Dmitry Sutyagin <email address hidden>
    Co-Authored-By: Ivan Kolodyazhny <email address hidden>
    Change-Id: I4761d7da15036b69619649871aef91e1799ee385
    Closes-Bug: #1508568

Changed in horizon:
status: In Progress → Fix Released
Akihiro Motoki (amotoki)
Changed in horizon:
milestone: none → queens-1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/horizon 13.0.0.0b1

This issue was fixed in the openstack/horizon 13.0.0.0b1 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/521066

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (stable/pike)

Reviewed: https://review.openstack.org/521066
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=016876bee59f1aaa94b459355550e95e4d840905
Submitter: Zuul
Branch: stable/pike

commit 016876bee59f1aaa94b459355550e95e4d840905
Author: Ivan Kolodyazhny <email address hidden>
Date: Wed May 24 13:00:46 2017 +0300

    Get all needed instances for volumes attachments at Admin->Volumes

    Nova server_list() wrapper needs to receive an explicit `all_tenants`
    boolean flag in order to request instances for _all_ tenants -
    otherwise while rendering Admin->Volumes table Django will request
    missing instances (to get their names for volume attachments) one by
    one, thus significantly increasing response time.

    This patch adds check if all_tenants in search_opts and add it to
    the search else uses tenant_id in the search_opts.

    Co-Authored-By: Dmitry Sutyagin <email address hidden>
    Co-Authored-By: Ivan Kolodyazhny <email address hidden>
    Change-Id: I4761d7da15036b69619649871aef91e1799ee385
    Closes-Bug: #1508568
    (cherry picked from commit 3a99499ba0adafd1e64262a5ba63ae94b1f05cf0)

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/horizon 12.0.2

This issue was fixed in the openstack/horizon 12.0.2 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.