Bug 1597622
Summary: | Network create/update failed HttpException: 503: Server Error | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Filip Hubík <fhubik> | ||||
Component: | python-pecan | Assignee: | Nate Johnston <njohnston> | ||||
Status: | CLOSED ERRATA | QA Contact: | Filip Hubík <fhubik> | ||||
Severity: | urgent | Docs Contact: | |||||
Priority: | urgent | ||||||
Version: | 14.0 (Rocky) | CC: | amuller, apevec, aschultz, dsavinea, fhubik, mariel, mburns, njohnston, shrjoshi, srevivo | ||||
Target Milestone: | Upstream M3 | Keywords: | Automation, AutomationBlocker, Triaged | ||||
Target Release: | 14.0 (Rocky) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | python-pecan-1.3.2-1.el7ost | Doc Type: | Bug Fix | ||||
Doc Text: |
Previously, API requests to the policies file for checking non-admin user access permissions caused the entire file to reload and reparse. This resulted in slower processing time and degraded performance.
This bug fix adds caching of the policies file so that queries to the file do not reload the entire file. Now, only changes to the file result in reloading and reparsing the file.
|
Story Points: | --- | ||||
Clone Of: | Environment: | ||||||
Last Closed: | 2019-01-11 11:50:23 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Filip Hubík
2018-07-03 10:11:53 UTC
Kicking over to Networking. Neutron wsgi is unhappy 2018-07-03 05:08:50.369 26588 DEBUG neutron.wsgi [-] (26588) accepted ('192.168.24.1', 45922) server /usr/lib/python2.7/site-packages/eventlet/wsgi.py:883 2018-07-03 05:08:50.373 26588 INFO neutron.wsgi [-] Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/eventlet/wsgi.py", line 490, in handle_one_response result = self.application(self.environ, start_response) File "/usr/lib/python2.7/site-packages/paste/urlmap.py", line 203, in __call__ return app(environ, start_response) File "/usr/lib/python2.7/site-packages/webob/dec.py", line 129, in __call__ resp = self.call_func(req, *args, **kw) File "/usr/lib/python2.7/site-packages/webob/dec.py", line 193, in call_func return self.func(req, *args, **kwargs) File "/usr/lib/python2.7/site-packages/oslo_middleware/base.py", line 131, in __call__ response = req.get_response(self.application) File "/usr/lib/python2.7/site-packages/webob/request.py", line 1313, in send application, catch_exc_info=False) File "/usr/lib/python2.7/site-packages/webob/request.py", line 1277, in call_application app_iter = application(self.environ, start_response) File "/usr/lib/python2.7/site-packages/webob/dec.py", line 129, in __call__ resp = self.call_func(req, *args, **kw) File "/usr/lib/python2.7/site-packages/webob/dec.py", line 193, in call_func return self.func(req, *args, **kwargs) File "/usr/lib/python2.7/site-packages/oslo_middleware/base.py", line 131, in __call__ response = req.get_response(self.application) File "/usr/lib/python2.7/site-packages/webob/request.py", line 1313, in send application, catch_exc_info=False) File "/usr/lib/python2.7/site-packages/webob/request.py", line 1277, in call_application app_iter = application(self.environ, start_response) File "/usr/lib/python2.7/site-packages/pecan/middleware/recursive.py", line 56, in __call__ return self.application(environ, start_response) File "/usr/lib/python2.7/site-packages/pecan/core.py", line 835, in __call__ return super(Pecan, self).__call__(environ, start_response) File "/usr/lib/python2.7/site-packages/pecan/core.py", line 677, in __call__ controller, args, kwargs = self.find_controller(state) File "/usr/lib/python2.7/site-packages/pecan/core.py", line 853, in find_controller controller, args, kw = super(Pecan, self).find_controller(_state) File "/usr/lib/python2.7/site-packages/pecan/core.py", line 480, in find_controller accept.startswith('text/html,') and AttributeError: 'NoneType' object has no attribute 'startswith' Same issue there. On neutron side, we don't have the same result using haproxy or not. # with haproxy [stack@undercloud ~]$ curl https://192.168.24.2:13696/ <html><body><h1>503 Service Unavailable</h1> No server is available to handle this request. </body></html> # without haproxy stack@undercloud ~]$ curl http://192.168.24.1:9696/ {"versions": [{"status": "CURRENT", "id": "v2.0", "links": [{"href": "http://192.168.24.1:9696/v2.0/", "rel": "self"}]}]} The only difference from the previous puddle is that the python-webob package has been upgraded from 1.7.2 to 1.8.1 [stack@undercloud ~]$ sudo rpm -qa *webob python2-webob-1.8.1-1.el7ost.noarch Not sure if this is relevant, but a recent upstream CI run (using devstack) showed that it's using webob 1.8.2. pecan==1.3.2 as well. Need information from apevec on how to bump the pecan version. It looks like the pecan version that included the fix was imported to RDO a day after you reported this bug. Can you confirm you're no longer seeing this issue on more recent CI runs? Yes, I can confirm we are not hitting this bug in CI with python2-pecan-1.3.2-1.el7ost present on UC since puddle 2018-07-04.3. Looks like Mikey provided the needed info, and his text is correct. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2019:0045 |