new launch instance breaks if instances are lauched quickly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Dashboard (Horizon) |
Confirmed
|
Medium
|
Unassigned |
Bug Description
I've found that if I launch a 2nd instance very quickly following an initial launch instance it can break the new angular launch instance wizard.
The key to recreating the problem is to click Launch Instance the 2nd time before the initial instance even appears in the table. When this happens the launch instance wizard disappears when the page refresh occurs, then clicking launch instance wizard again results in a defective wizard being shown. See the attached images.
This error is in the javascript console:
"Error: $scope.strings is undefined
magicSearchCont
invoke@http://
$ControllerProv
nodeLinkFn/<@http://
forEach@http://
nodeLinkFn@http://
delayedNodeLinkFn@http://
compositeLinkFn@http://
nodeLinkFn@http://
compositeLinkFn@http://
compositeLinkFn@http://
compositeLinkFn@http://
nodeLinkFn@http://
delayedNodeLinkFn@http://
compositeLinkFn@http://
nodeLinkFn@http://
compositeLinkFn@http://
compositeLinkFn@http://
compositeLinkFn@http://
nodeLinkFn@http://
compositeLinkFn@http://
compositeLinkFn@http://
publicLinkFn@http://
createBoundTran
controllersBoun
link@http://
invokeLinkFn@http://
nodeLinkFn@http://
compileTemplate
processQueue@http://
scheduleProcess
$RootScopeProvi
$RootScopeProvi
$RootScopeProvi
done@http://
completeRequest@http://
requestLoaded@http://
" "<transfer-table class="ng-scope" help-text=
Changed in horizon: | |
importance: | Undecided → High |
status: | New → Confirmed |
milestone: | none → mitaka-rc1 |
Changed in horizon: | |
assignee: | Matt Borland (palecrow) → Travis Tripp (travis-tripp) |
status: | Incomplete → In Progress |
Changed in horizon: | |
assignee: | Travis Tripp (travis-tripp) → Matt Borland (palecrow) |
importance: | Undecided → Medium |
tags: | added: angularjs |
Changed in horizon: | |
milestone: | none → newton-2 |
Changed in horizon: | |
milestone: | newton-2 → newton-3 |
Changed in horizon: | |
status: | In Progress → Confirmed |
assignee: | Matt Borland (palecrow) → nobody |
milestone: | newton-3 → next |
I'm looking into this. First off, I can't recreate the issue.
I do notice in:
horizon/ static/ framework/ widgets/ magic-search/ magic-search. controller. js
that there is some blind assumption that $scope.strings exists; however, this is pretty logical as when I trace the relationship between hz-magic-search-bar to magic-search that it should always have something for the strings. horizon/ static/ framework/ widgets/ magic-search/ hz-magic- search- bar.directive. js always sets a default (seemingly) and this is always passed via the associated template to the magic-search directive.
I do see another problem, which is that there is a hard-coded template path that may fail, in horizon/ static/ framework/ widgets/ magic-search/ hz-magic- search- bar.html . I'll see if there's some correlation there.