Attempting to open Launch Instance during polling causes multiple workflows

Bug #1561501 reported by Rob Cresswell
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Fix Released
High
Timur Sufiev

Bug Description

If Launch Instance is triggered while a table is polling, weirdness occurs. To recreate:

1) Launch an Instance on Project > Instances
2) Immediately go to Launch another (actual time limit will depend on API speed)
3) The second Launch Instance will likely look fine; however, when you close it and open again, you'll see 2, 3 maybe more modals at once. This is easy to see when you hit cancel, and have to click through multiple modals. The lag also increases drastically.

tags: added: angularjs mitaka-backport-potential
Changed in horizon:
importance: Undecided → High
milestone: none → newton-1
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/297110

Changed in horizon:
assignee: nobody → Timur Sufiev (tsufiev-x)
status: New → In Progress
Revision history for this message
Timur Sufiev (tsufiev-x) wrote :

It seems that each time we compile ng-click, Angular binds another event handler to a clickable widget. Quick solution is to track if the modal is already open and don't open it if it is. On the other hand, it may create issues with memory consumption by Angular, if polling runs for a long time and hence hundreds+ of handlers are bound to a button.

Revision history for this message
Timur Sufiev (tsufiev-x) wrote :

A safer option is to update table by means of Angular.

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

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/298940

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

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

commit d51bcdcbdad2f8dd313fc7d6bc8e85a881840875
Author: Timur Sufiev <email address hidden>
Date: Thu Mar 24 16:21:21 2016 +0300

    Fix opening multiple Launch Instance during jQuery table polling

    Achieve this by limiting widget area to be recompiled to table/tab.

    Change-Id: Icbbe2be833fccf17ba272ca920960393c9c3b667
    Closes-Bug: #1561501
    Closes-Bug: #1559105

Changed in horizon:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (stable/mitaka)

Reviewed: https://review.openstack.org/298940
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=19b6a657ef41c35fd7cfac32801d8362f82116ea
Submitter: Jenkins
Branch: stable/mitaka

commit 19b6a657ef41c35fd7cfac32801d8362f82116ea
Author: Timur Sufiev <email address hidden>
Date: Thu Mar 24 16:21:21 2016 +0300

    Fix opening multiple Launch Instance during jQuery table polling

    Achieve this by limiting widget area to be recompiled to table/tab.

    Change-Id: Icbbe2be833fccf17ba272ca920960393c9c3b667
    Closes-Bug: #1561501
    Closes-Bug: #1559105

tags: added: in-stable-mitaka
Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/horizon 9.0.0.0rc2

This issue was fixed in the openstack/horizon 9.0.0.0rc2 release candidate.

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/302566

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (master)
Download full text (5.6 KiB)

Reviewed: https://review.openstack.org/302566
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=070da819f9d88d4c9736dfe5d49b56756be0cfe5
Submitter: Jenkins
Branch: master

commit 3f4eeaa6c0fea01ca7820b85a754c931c2a4da0e
Author: OpenStack Proposal Bot <email address hidden>
Date: Thu Mar 31 06:51:12 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: Ia0b04ca1b44d72796ff2b60e47a9664e5473dc44

commit 10e6bf57c3398c73ec47dabd91fbd37f35017abc
Author: David Lyle <email address hidden>
Date: Thu Mar 24 12:22:29 2016 -0600

    Fixing updating user with no default project

    The selector for setting the default project passes on an empty string
    if the value is not changed. This is causing an error from keystone as
    an empty string is not a valid project ID.

    To fix, a couple of things have been done:

    First, as user_update is a PATCH, we no longer pass on the default
    project as a parameter in the update when using keystone v3
    and the value did not change when editing the user.

    Second, there is currently no way to unset the default project
    using keystoneclient. An entry in the default project select
    "select a project" has been removed when the default project is
    already set. The entry was selectable and resulted in the
    problematic empty string. The current default project is already
    selected at load time. The ability to select a different default
    project is maintained.

    Additionally, keystone v2.0 functionality is not effected, as the
    default project id is required in v2.0.

    A test was added to cover the case of editing the default project.

    Closes-Bug: #1561612
    Change-Id: I3c84ee5c7af846b5a58f2dd0342a537d312323cf
    (cherry picked from commit 32510d8211a43d83ebac6478fce17a8856cf9a0c)

commit dd4d1fb79defb65fc54c8239792a211e661433b4
Author: OpenStack Proposal Bot <email address hidden>
Date: Wed Mar 30 06:53:15 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: Icd8f62341a7144425149034e338956212bdab408

commit 19b6a657ef41c35fd7cfac32801d8362f82116ea
Author: Timur Sufiev <email address hidden>
Date: Thu Mar 24 16:21:21 2016 +0300

    Fix opening multiple Launch Instance during jQuery table polling

    Achieve this by limiting widget area to be recompiled to table/tab.

    Change-Id: Icbbe2be833fccf17ba272ca920960393c9c3b667
    Closes-Bug: #1561501
    Closes-Bug: #1559105

commit 8ad7d1fb01a75716861bad7b8ee3ce930f42724d
Author: OpenStack Proposal Bot <email address hidden>
Date: Tue Mar 29 06:29:37 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: Ifd623cc19478ec044c5fbab9ced4a37dfa490553

commit 2694d45ac69c6884433c15f8294d43db1...

Read more...

Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote : Fix included in openstack/horizon 10.0.0.0b1

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

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.