Bug #47631
openPulpito gui is not working properly on new deployment
0%
Description
I deployed a teuthology server recently via https://github.com/SUSE/teuthology-deploy and noticed that pulpito is not working properly. I dug a bit and found that the issue is that for some reason the links like when you click on a test to get to the logs normally are getting redirected to the link plus a trailing slash which seems to be broken currently. It seems reproducible 100% since I tried to redeploy the server multiple times.
Curl output from older teuthology server:
teuth-foo:~ # curl http://10.86.5.236:8081/runner-2020-09-23_15:20:37-ceph_salt:tier1-wip-ses7-add-roles-none-basic-ecp <html> <head> <title>302 Found</title> </head> <body> <h1>302 Found</h1> The resource was found at <a href="http://10.86.5.236:8081/runner-2020-09-23_15:20:37-ceph_salt:tier1-wip-ses7-add-roles-none-basic-ecp/">http://10.86.5.236:8081/runner-2020-09-23_15:20:37-ceph_salt:tier1-wip-ses7-add-roles-none-basic-ecp/</a>; you should be redirected automatically. </body>
Curl output from fresh deployed server:
teuth-foo:~ # curl http://10.86.3.204:8081/runner-2020-09-23_13:59:46-suse:tier0-ses7-none-basic-ecp <html> <head> <title>Pecan - Application Error</title> <body> <header> <h1> An error occurred! </h1> </header> <div id="error-content"> <p> <div class="traceback"> <b>To disable this interface, set </b> <a target="window" href="https://pecan.readthedocs.io/en/latest/deployment.html#disabling-debug-mode"> <pre>conf.app.debug = False</pre> </a> </div> Pecan offers support for interactive debugging by installing the <a href="https://pypi.python.org/pypi/backlash" target="window">backlash</a> package: <br /> <b><pre>pip install backlash</pre></b> ...and reloading this page. </p> <h2>Traceback</h2> <div id="traceback"> <pre>Traceback (most recent call last): File "/home/pulpito/pulpito/virtualenv/lib/python2.7/site-packages/pecan/middleware/debug.py", line 78, in __call__ return self.app(environ, start_response) File "/home/pulpito/pulpito/virtualenv/lib/python2.7/site-packages/pecan/middleware/recursive.py", line 56, in __call__ return self.application(environ, start_response) File "/home/pulpito/pulpito/virtualenv/lib/python2.7/site-packages/pecan/middleware/errordocument.py", line 75, in __call__ app_iter = self.app(environ, replacement_start_response) File "/home/pulpito/pulpito/virtualenv/lib/python2.7/site-packages/pecan/core.py", line 852, in __call__ return super(Pecan, self).__call__(environ, start_response) File "/home/pulpito/pulpito/virtualenv/lib/python2.7/site-packages/pecan/core.py", line 698, in __call__ accept_header = acceptparse.create_accept_header( AttributeError: 'module' object has no attribute 'create_accept_header' </pre> </div> <h2>WSGI Environment</h2> <div id="environ"> <pre>{'ACTUAL_SERVER_PROTOCOL': 'HTTP/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_HOST': '10.86.3.204:8081', 'HTTP_USER_AGENT': 'curl/7.60.0', 'PATH_INFO': '/runner-2020-09-23_13:59:46-suse:tier0-ses7-none-basic-ecp', 'QUERY_STRING': '', 'REMOTE_ADDR': '10.86.3.204', 'REMOTE_PORT': '40708', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/runner-2020-09-23_13:59:46-suse:tier0-ses7-none-basic-ecp', 'SCRIPT_NAME': '', 'SERVER_NAME': 'simpleapp', 'SERVER_PORT': '8081', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'CherryPy/3.8.0 Server', 'pecan.locals': {'request': <Request at 0x7f5f942f81d0 GET http://10.86.3.204:8081/runner-2020-09-23_13:59:46-suse:tier0-ses7-none-basic-ecp>, 'response': <Response at 0x7f5f942f8a90 200 OK>}, 'pecan.recursive.script_name': '', 'webob.adhoc_attrs': {'context': {}, 'pecan': {'content_type': None, 'extension': None, 'routing_path': u'/runner-2020-09-23_13:59:46-suse:tier0-ses7-none-basic-ecp'}}, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f5f9b82c270>, 'wsgi.input': <cherrypy.wsgiserver.wsgiserver2.KnownLengthRFile object at 0x7f5f94605110>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}</pre> </div> </div> </body> </html>
Updated by Georgios Kyratsas over 3 years ago
I investigated a bit and the issue seems to be on the pecan version 1.4.0, change https://github.com/pecan/pecan/pull/119 is not backward compatible, so we either need to specify the pecan version in the requirements or patch pulpito.