login page exception - hz-login-finder doesn't function because of horizon.app loading failure
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Dashboard (Horizon) |
Fix Released
|
High
|
Shu Muto |
Bug Description
It happens to master and stable/pike. Didn't check other version.
When access login page of horizon in Chrome, F12 you will see the following exceptions in the console. If it uses default keystone credential, it doesn't hurt, once login the exceptions are gone.
However, if want to use the WEBSSO feature when angular invokes the hz-login-finder directive to hide the username/password inputs...it doesn't function. Looks like it is caused by the loading problem of horizon.app module
Exceptions ----
Uncaught SyntaxError: Unexpected token <
c575dddbc1e4.js:325 Uncaught ReferenceError: gettext is not defined
at c575dddbc1e4.js:325
at c575dddbc1e4.js:325
(anonymous) @ c575dddbc1e4.js:325
(anonymous) @ c575dddbc1e4.js:325
732ce617825a.js:699 Uncaught Error: [$injector:nomod] Module 'horizon.app' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://
at 732ce617825a.js:699
at 732ce617825a.js:818
at ensure (732ce617825a.
at Object.module (732ce617825a.
at 680be8487836.js:1
(anonymous) @ 732ce617825a.js:699
(anonymous) @ 732ce617825a.js:818
ensure @ 732ce617825a.js:816
module @ 732ce617825a.js:818
(anonymous) @ 680be8487836.js:1
732ce617825a.js:699 Uncaught Error: [$injector:
Error: [$injector:nomod] Module 'horizon.app' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://
at https:/
at https:/
at ensure (https:/
at module (https:/
at https:/
at forEach (https:/
at loadModules (https:/
at createInjector (https:/
at doBootstrap (https:/
at bootstrap (https:/
http://
at https:/
at https:/
at ensure (https:/
at module (https:/
at https:/
at forEach (https:/
at loadModules (https:/
at createInjector (https:/
at doBootstrap (https:/
at bootstrap (https:/
http://
at https:/
at https:/
at forEach (https:/
at loadModules (https:/
at createInjector (https:/
at doBootstrap (https:/
at bootstrap (https:/
at angularInit (https:/
at HTMLDocument.
at fire (https:/
Changed in horizon: | |
status: | New → Confirmed |
Changed in horizon: | |
assignee: | nobody → Gloria Gu (gloria-gu) |
tags: | added: pike-backport-potential queens-backport-potential |
Changed in horizon: | |
importance: | Undecided → High |
milestone: | none → rocky-1 |
Changed in horizon: | |
status: | Confirmed → In Progress |
Changed in horizon: | |
assignee: | Shu Muto (shu-mutou) → Akihiro Motoki (amotoki) |
Changed in horizon: | |
assignee: | Akihiro Motoki (amotoki) → Shu Muto (shu-mutou) |
I turn on the localy_settings.py COMPRESS_ENABED = False
I will see better errors
angular.js:68 Uncaught Error: [$injector: modulerr] Failed to instantiate module horizon.app due to: modulerr] Failed to instantiate module schemaForm due to: localhost: 7788/static/ framework/ widgets/ form/decorator. js:133: 27)
Error: [$injector:
ReferenceError: gettext is not defined
at config (http://
gettext from angular didn't get loaded when load _login_form.html
Then I resolved a bunch of gettext issue...now I am stuck at
...horizon. app.core. images. resourceType is there...but the code is suspecious
angular 'horizon. app.core. images' , [ horizon. app.core. images. actions' , horizon. app.core. images. details' 'horizon. app.core. images. events' , events()) 'horizon. app.core. images. non_bootable_ image_types' , ['aki', 'ari']) 'horizon. app.core. images. validationRules ', validationRules()) 'horizon. app.core. images. imageFormats' , imageFormats()) 'horizon. app.core. images. resourceType' , 'OS::Glance: :Image' )
.module(
'ngRoute',
'
'
])
.constant(
.constant(
.constant(
.constant(
.constant(
------- ------- ------- ------- ------- --
angular 'horizon. app.core. images' ) 'horizon. app.core. images. actions. edit.service' , editService);
.module(
.factory(
editService. $inject = [ app.core. images. events' , app.core. images. resourceType' , app.core. images. actions. editWorkflow' , app.core. metadata. service' , app.core. openstack- service- api.glance' , app.core. openstack- service- api.policy' , framework. util.actions. action- result. service' , framework. util.q. extensions' , framework. widgets. modal.wizard- modal.service' , framework. widgets. toast.service'
'$q',
'horizon.
'horizon.
'horizon.
'horizon.
'horizon.
'horizon.
'horizon.
'horizon.
'horizon.
'horizon.
];
------- ------- ------
angular.js:68 Uncaught Error: [$injector:unpr] Unknown provider: horizon. app.core. images. resourceTypePro vider <- horizon. app.core. images. resourceType <- horizon. app.core. images. actions. edit.service errors. angularjs. org/1.5. 8/$injector/ unpr?p0= horizon. app.core. images. resourceTypePro vider%20% 3C-%20horizon. app.core. images. resourceType% 20%3C-% 20horizon. app.core. images. actions. edit.service enforcedReturnV alue [as $get] (angular.js:4557)
http://
at angular.js:68
at angular.js:4511
at Object.getService [as get] (angular.js:4664)
at angular.js:4516
at getService (angular.js:4664)
at injectionArgs (angular.js:4688)
at Object.invoke (angular.js:4710)
at Object.
at Object.invoke (angular.js:4718)
at angular.js:4517
(anonymous) @ angular.js:68
(anonymous) @ angular.js:4511
getService @ angular.js:4664
(anonymous) @ angular.js:4516
getService @ angular.js:4664
injectionArgs @ angular.js:4688
invoke @ angular.js:4710
enforcedReturnValue @ angular.js:4557
invoke @ angular.js:4718
(anonymous) @ angular.js:4517
getService @ angular.js:4664
injectionArgs @ angular.js:4688
invoke @ angular.js:4710
(anonymous) @ angular.js:4526
forEach @ angular.js:321
createInjector @ angular.js:4526
doBootstrap @ angular.js:1758
bootstrap @ angular.js:1779
angularInit @ angular.js:1664
(anonymous) @ angular.js:31763
fire @ jquery.js:3048
fireW...