[Openstack-operators] Browser dependent weirdness in dashboard

Marcos Garcia marcos.garcia at enovance.com
Thu Jul 31 20:27:23 UTC 2014


Hi Jeff

My first reaction would be to disable SELinux and Iptables completely 
(setenforce 0 && iptables -F). Then try again and let us know :)

Good luck

On 2014-07-31, 4:21 PM, Jeff Silverman wrote:
> This is kinda hard to describe.  I am having problems with dashboard.
>
> I am running on Centos 6.5
>
> Dashboard is installed on my controller node.  When I first installed 
> dashboard and tested, I was able to login as "jeff" but then getting 
> 500 INTERNAL SERVER ERROR responses with both Mozilla Firefox and 
> Google Chrome.  I looked through /var/log/error_log and found that the 
> problem was a ConnectionError in 
> /usr/lib/python2.6/site-packages/requests/adapters.py line 206.  I 
> never resolved that issue.  I sent a message to the mailing list at 
> python-requests, which is the project that write adapters.py asking 
> them for more troubleshooting information from the exception handler.
>
> I rebooted the controller node to test if the services would come 
> back.  openstack-nova-api failed to start because:
> 2014-07-30 13:28:52.356 4651 ERROR nova.wsgi [-] Could not bind to0.0.0.0:8775  <http://0.0.0.0:8775>
> 2014-07-30 13:28:52.357 4651 CRITICAL nova [-] error: [Errno 98] Address already in use
> nova-api-metadata has already grabbed port 8775.  I don't understand 
> why nova processes are running on my controller when they are compute 
> processes, but then there is a lot about openstack that I don't 
> understand (and I appreciate your bearing with me).
>
> I am back to troubleshooting dashboard, and here is where it gets 
> weird.  It doesn't work, but it doesn't work differently depending on 
> whether I use Google Chrome (Version 36.0.1985.125 on Fedora 20) or 
> Mozilla Firefox (version 24.7.0-1.el6.centos).  With firefox, I get a 
> login page.  When I enter my username and password, I get a login 
> failure.  error_log says [Thu Jul 31 18:57:27 2014] [error] Login 
> failed for user "jeff".  By way of contrast, when I use Chrome, I get 
> a 500 INTERNAL SERVER ERROR.  error_log says
> ConnectionError: [Errno 111] Connection refused.  That means that the 
> remote server was reachable, but when TCP sends the SYN packet to the 
> server, it responds with a TCP RESET packet.  So I know my network is 
> good.
>
> I decided to do some troubleshooting with tcpdump and wireshark. 
>  Chrome makes 4 connections from different source ports to port 80.  I 
> haven't a clue why, it makes the second third, and fourth connections 
> before it ACKs the first connection.  Then it does a GET /dashboard 
> HTTP/1.1 from the first connection.  The server responds with a 302 
> redirect to Location: 
> http://controller1-prod.sea.opencandy.com/dashboard/admin/\r\n 
> <http://controller1-prod.sea.opencandy.com/dashboard/admin/%5Cr%5Cn> 
> which I guess makes sense.  Then server closes the first connection. 
>  The second connection then does a GET to /dashboard/admin.  The 
> server responds with a 500 INTERNAL SERVER ERROR.  The HTTP header of 
> the response is:
> HTTP/1.1 500 INTERNAL SERVER ERROR
> Date: Thu, 31 Jul 2014 18:44:36 GMT
> Server: Apache/2.2.15 (CentOS)
> Vary: Accept-Language,Cookie
> X-Frame-Options: SAMEORIGIN
> Content-Language: en
> Set-Cookie: sessionid=".eJy1lVtz20QUx0OI48YhCRQa7rQUKA5QWfKubuF--..."; 
> httponly; Path=/
> Content-Length: 1666
> Connection: close
> Content-Type: text/html; charset=utf-8
>
> The error_log file contains
> [Thu Jul 31 00:19:59 2014] [error]   File 
> "/usr/lib/python2.6/site-packages/requests/sessions.py", line 374, in send
> [Thu Jul 31 00:19:59 2014] [error]     r = adapter.send(request, **kwargs)
> [Thu Jul 31 00:19:59 2014] [error]   File 
> "/usr/lib/python2.6/site-packages/requests/adapters.py", line 165, in send
> [Thu Jul 31 00:19:59 2014] [error] TypeError: function takes exactly 1 
> argument (3 given)
>
>
>
> Then the second session is closed down.  I don't see where the third 
> and fourth connections shut down.  My hypothesis is that Chrome is 
> opening sessions at startup to optimize performance, and that this is 
> confusing the server.  HTTP is supposed to stateless, but HTTP runs on 
> top of TCP and TCP is stateful, so isn't clear to me if browser or the 
> server is violating RFC 2616 (see the abstract).
>
> Firefox has one connection.  It does a GET /dashboard and gets a 200 
> response.  Then the server closes the connection.   Next, firefox does 
> a request for  /static/dashboard/img/logo-splash.png.  The server 
> responds with a 304 Not Modified.  That makes sense - I've run this 
> test a lot and the .png file is in the browser's cache.  Firefox does 
> a POST /dashboard./auth/login and this time, it specifies connection 
> keep-alive.  The server replies with a 200 OK (should be a 401 
> unauthorized code, but that's a digression)  that the login failed.
>
> It pains me to say this, because I used to work for Google, but I 
> think that Google's optimization is confusing the server and causing 
> the 500 INTERNAL SERVER ERROR.
>
> As for my problems with Firefox, I tested to see if the authentication 
> server is working.
>
> root at controller1-prod.controller1-prod:/var/log/httpd# curl $OS_AUTH_URL
> {"version": {"status": "stable", "updated": "2012-10-13T17:42:56Z", 
> "media-types": [{"base": "application/json", "type": 
> "application/vnd.openstack.identity-v2.0+json"}, {"base": 
> "application/xml", "type": 
> "application/vnd.openstack.identity-v2.0+xml"}], "id": "v2.0", 
> "links": [{"href": 
> "http://controller1-prod.sea.opencandy.com:35357/v2.0/", "rel": 
> "self"}, {"href": 
> "http://docs.openstack.org/api/openstack-identity-service/2.0/content/", 
> "type": "text/html", "rel": "describedby"}, {"href": 
> "http://docs.openstack.org/api/openstack-identity-service/2.root@controller1-prod.controller1-prod:/var/log/httpd# 
>
>
> I also want to see if the identity server is working, so I used keystone:
> root at controller1-prod.controller1-prod:/var/log/httpd# keystone role-list
> +----------------------------------+-------+
> |                id                |  name |
> +----------------------------------+-------+
> | 601553426dc749589cc86a05a946aa47 | admin |
> +----------------------------------+-------+
> root at controller1-prod.controller1-prod:/var/log/httpd#
>
>
> I am keeping careful notes of the problems I am running into, and I 
> hope to publish a troubleshooting/validation page for you.
>
>
> Thank you for your kind assistance.
>
>
> Jeff
>
>
>
> -- 
> *Jeff Silverman*
> Systems Engineer
> (253) 459-2318 (c)
>
>
>
> _______________________________________________
> OpenStack-operators mailing list
> OpenStack-operators at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators

-- 

*Marcos Garcia
*
Technical Sales Engineer

*PHONE : *(514) -- 907 - 0068 *EMAIL :*marcos.garcia at enovance.com 
<mailto:marcos.garcia at enovance.com> - *SKYPE : *enovance-marcos.garcia**
*ADDRESS :*127 St-Pierre -- Montréal (QC) H2Y 2L6, Canada *WEB : 
*www.enovance.com <http://www.enovance.com/>



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-operators/attachments/20140731/4f2b3719/attachment.html>


More information about the OpenStack-operators mailing list