Horizon half broken when accessed from a client on a subnet other than 172.16.0.0/24

Bug #1518582 reported by William Kerr
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
Medium
Fuel Library (Deprecated)

Bug Description

After creating OpenStack with Mirantis Fuel 7 (or 6 as well) using pretty much default settings (including HTTPS for Horizon / TLS) and then going to the Horizon dashboard at https://172.16.0.3 (or https://public.fuel.local), it works differently depending on which subnet I'm accessing it from. It only works perfect (fast, no errors) if I plug my laptop ethernet cable into the 172.16.0.0/24 network (my laptop's IP is 172.16.0.26) and visit https://172.16.0.3. If instead I use my laptop in my preferred network 10.0.1.0/24 (my laptop's IP is 10.0.1.22) and contact 172.16.0.3, the Horizon dashboard does eventually load really slow with an error in the JavaScript debugging console. Then, when I log in, it runs slow and half the stuff is missing from the page when I click around (like the ability to log out). It again throws an error in the JavaScript debugging console. Here's the Firefox console debugging error output:

Error: [$injector:modulerr] Failed to instantiate module hz due to:
[$injector:modulerr] Failed to instantiate module hz.conf due to:
[$injector:nomod] Module 'hz.conf' 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://errors.angularjs.org/1.3.17/$injector/nomod?p0=hz.conf
minErr/<@https://172.16.0.3/horizon/static/dashboard/js/d5d0ae178ffc.js:674:
8
module/<@https://172.16.0.3/horizon/static/dashboard/js/d5d0ae178ffc.js:779:
1
ensure@https://172.16.0.3/horizon/static/dashboard/js/d5d0ae178ffc.js:777:32
0
module@https://172.16.0.3/horizon/static/dashboard/js/d5d0ae178ffc.js:779:1
loadModules/<https://172.16.0.3/horizon/static/dashboard/js/d5d0ae178ffc.js:779:1
loadModules/><@https://172.16.0.3/horizon/static/dashboard/js/d5d0ae178ffc.js
:878:35
forEach@https://172.16.0.3/horizon/static/dashboard/js/d5d0ae178ffc.js:680:3
91
loadModules@https://172.16.0.3/horizon/static/dashboard/js/d5d0ae178ffc.js:8
77:63
loadModules/<@https://172.16.0.3/horizon/static d5d0ae178ffc.js:674:8

Also, in case it's relevant, the /var/log/keystone/main.log spews out lots of stuff if I tail it while trying to use Horizon from the 10.0.1.0/24 network and the "Auth token not in the request header. Will not build auth context" message might provide a hint:

2015-11-21 16:26:42.629 8862 INFO keystone.common.wsgi [-] OPTIONS /?
2015-11-21 16:26:52.639 8862 INFO keystone.common.wsgi [-] OPTIONS /?
2015-11-21 16:26:54.977 8862 DEBUG keystone.middleware.core [-] Auth token not in the request header. Will not build auth context. process_request /usr/lib/python2.7/dist-packages/keystone/middleware/core.py:229
2015-11-21 16:26:54.983 8862 INFO keystone.common.wsgi [-] POST /tokens?
2015-11-21 16:26:54.985 8862 DEBUG keystone.common.cache._memcache_pool [-] Memcached pool 139632346844768, thread 139632540993280: Acquiring connection _debug_logger /usr/lib/python2.7/dist-packages/keystone/common/cache/_memcache_pool.py:181
2015-11-21 16:26:54.987 8862 DEBUG keystone.common.cache._memcache_pool [-] Memcached pool 139632346844768, thread 139632540993280: Acquired connection 139632340435232 _debug_logger /usr/lib/python2.7/dist-packages/keystone/common/cache/_memcache_pool.py:181
2015-11-21 16:26:54.990 8862 DEBUG keystone.common.cache._memcache_pool [-] Memcached pool 139632346844768, thread 139632540993280: Releasing connection 139632340435232 _debug_logger /usr/lib/python2.7/dist-packages/keystone/common/cache/_memcache_pool.py:181
...

Revision history for this message
William Kerr (n-bill-v) wrote :
Revision history for this message
William Kerr (n-bill-v) wrote :

I tried rebuilding OpenStack with Fuel 7 with the HTTPS for Horizon / TLS checkboxes unchecked to see if that was the issue. No, that didn't fix it; the issue still persists.

Revision history for this message
William Kerr (n-bill-v) wrote :

Here's some more info. One of the JavaScript files that the login page tries to load, is http://172.16.0.3/horizon/static/dashboard/js/1ef6b144ed3a.js

The request headers are:

Host: 172.16.0.3
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://172.16.0.3/horizon/auth/login/?next=/horizon/
Cookie: csrftoken=I0GAEQfUY8VlLPL7bcQRApzjFfLDIP1Q; login_region="http://192.168.0.2:5000/v2.0"; horizon_pagesize=20; horizon_language=en; instance_log_length=35; django_timezone="America/New_York"; SERVERID=node-15
Connection: keep-alive

Revision history for this message
Maciej Relewicz (rlu) wrote :

Please attach information about your fuel environment or/and diagnostic snapshot.

Changed in fuel:
status: New → Incomplete
importance: Undecided → Medium
assignee: nobody → Fuel Library Team (fuel-library)
milestone: none → 8.0
Maciej Relewicz (rlu)
tags: added: area-library
Revision history for this message
William Kerr (n-bill-v) wrote :

I generated a diagnostic snapshot from the Mirantis Fuel dashboard support tab and it was 742 MB. When I tried to upload it here, the upload erred out. So, what files do you want me to attach here from the diagnostic snapshot?

tags: added: team-bugfix
Revision history for this message
Ivan Ponomarev (ivanzipfer) wrote :

Please provide additional information and reopen if required

Changed in fuel:
status: Incomplete → Invalid
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.