Accessing Odoo Returns HTTP500 Error
Summary
The Odoo container returns a HTTP500 error whenever anyone tries to access the application.
Steps to reproduce
Start a PostgreSQL server - $ docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:10
Start an Odoo instance $ docker run -p 8069:8069 --name odoo --link db:db -t ib-odoo-image
Attempt to access odoo via a web browser: http://SERVER_IP:8069 (where SERVER_IP is the IP address of your docker server)
What is the current bug behavior?
Web browser is returned an HTTP500 error. Below is sample output from the container log:
2021-03-31 16:33:07,062 1 ERROR ? werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/werkzeug/serving.py", line 323, in run_wsgi
execute(self.server.app)
File "/usr/local/lib/python3.8/site-packages/werkzeug/serving.py", line 312, in execute
application_iter = app(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/service/server.py", line 440, in app
return self.app(e, s)
File "/usr/local/lib/python3.8/site-packages/odoo/service/wsgi_server.py", line 124, in application
return application_unproxied(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/service/wsgi_server.py", line 99, in application_unproxied
result = odoo.http.root(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1295, in __call__
return self.dispatch(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1263, in __call__
return self.app(environ, start_wrapped)
File "/usr/local/lib/python3.8/site-packages/werkzeug/middleware/shared_data.py", line 260, in __call__
return self.app(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1428, in dispatch
explicit_session = self.setup_session(httprequest)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1326, in setup_session
session_gc(self.session_store)
File "/usr/local/lib/python3.8/site-packages/odoo/tools/func.py", line 26, in __get__
value = self.fget(obj)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1274, in session_store
path = odoo.tools.config.session_dir
File "/usr/local/lib/python3.8/site-packages/odoo/tools/config.py", line 695, in session_dir
os.makedirs(d, 0o700)
File "/usr/local/lib/python3.8/os.py", line 223, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/var/lib/odoo/sessions' - - -
2021-03-31 16:33:26,439 1 INFO ? werkzeug: 127.0.0.1 - - [31/Mar/2021 16:33:26] "GET /favicon.ico HTTP/1.1" 50
0 - 0 0.000 0.001
2021-03-31 16:33:26,442 1 ERROR ? werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/werkzeug/serving.py", line 323, in run_wsgi
execute(self.server.app)
File "/usr/local/lib/python3.8/site-packages/werkzeug/serving.py", line 312, in execute
application_iter = app(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/service/server.py", line 440, in app
return self.app(e, s)
File "/usr/local/lib/python3.8/site-packages/odoo/service/wsgi_server.py", line 124, in application
return application_unproxied(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/service/wsgi_server.py", line 99, in application_unproxied
result = odoo.http.root(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1295, in __call__
return self.dispatch(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1263, in __call__
return self.app(environ, start_wrapped)
File "/usr/local/lib/python3.8/site-packages/werkzeug/middleware/shared_data.py", line 260, in __call__
return self.app(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1428, in dispatch
explicit_session = self.setup_session(httprequest)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1326, in setup_session
session_gc(self.session_store)
File "/usr/local/lib/python3.8/site-packages/odoo/tools/func.py", line 26, in __get__
value = self.fget(obj)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1274, in session_store
path = odoo.tools.config.session_dir
File "/usr/local/lib/python3.8/site-packages/odoo/tools/config.py", line 695, in session_dir
os.makedirs(d, 0o700)
File "/usr/local/lib/python3.8/os.py", line 223, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/var/lib/odoo/sessions' - - -
What is the expected correct behavior?
Odoo application will be presented to the end user when navigating to http://SERVER_IP:8069 (where SERVER_IP is the IP address of your docker server)
Relevant logs and/or screenshots
2021-03-31 16:33:07,062 1 ERROR ? werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/werkzeug/serving.py", line 323, in run_wsgi
execute(self.server.app)
File "/usr/local/lib/python3.8/site-packages/werkzeug/serving.py", line 312, in execute
application_iter = app(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/service/server.py", line 440, in app
return self.app(e, s)
File "/usr/local/lib/python3.8/site-packages/odoo/service/wsgi_server.py", line 124, in application
return application_unproxied(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/service/wsgi_server.py", line 99, in application_unproxied
result = odoo.http.root(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1295, in __call__
return self.dispatch(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1263, in __call__
return self.app(environ, start_wrapped)
File "/usr/local/lib/python3.8/site-packages/werkzeug/middleware/shared_data.py", line 260, in __call__
return self.app(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1428, in dispatch
explicit_session = self.setup_session(httprequest)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1326, in setup_session
session_gc(self.session_store)
File "/usr/local/lib/python3.8/site-packages/odoo/tools/func.py", line 26, in __get__
value = self.fget(obj)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1274, in session_store
path = odoo.tools.config.session_dir
File "/usr/local/lib/python3.8/site-packages/odoo/tools/config.py", line 695, in session_dir
os.makedirs(d, 0o700)
File "/usr/local/lib/python3.8/os.py", line 223, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/var/lib/odoo/sessions' - - -
2021-03-31 16:33:26,439 1 INFO ? werkzeug: 127.0.0.1 - - [31/Mar/2021 16:33:26] "GET /favicon.ico HTTP/1.1" 50
0 - 0 0.000 0.001
2021-03-31 16:33:26,442 1 ERROR ? werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/werkzeug/serving.py", line 323, in run_wsgi
execute(self.server.app)
File "/usr/local/lib/python3.8/site-packages/werkzeug/serving.py", line 312, in execute
application_iter = app(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/service/server.py", line 440, in app
return self.app(e, s)
File "/usr/local/lib/python3.8/site-packages/odoo/service/wsgi_server.py", line 124, in application
return application_unproxied(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/service/wsgi_server.py", line 99, in application_unproxied
result = odoo.http.root(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1295, in __call__
return self.dispatch(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1263, in __call__
return self.app(environ, start_wrapped)
File "/usr/local/lib/python3.8/site-packages/werkzeug/middleware/shared_data.py", line 260, in __call__
return self.app(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1428, in dispatch
explicit_session = self.setup_session(httprequest)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1326, in setup_session
session_gc(self.session_store)
File "/usr/local/lib/python3.8/site-packages/odoo/tools/func.py", line 26, in __get__
value = self.fget(obj)
File "/usr/local/lib/python3.8/site-packages/odoo/http.py", line 1274, in session_store
path = odoo.tools.config.session_dir
File "/usr/local/lib/python3.8/site-packages/odoo/tools/config.py", line 695, in session_dir
os.makedirs(d, 0o700)
File "/usr/local/lib/python3.8/os.py", line 223, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/var/lib/odoo/sessions' - - -
Possible fixes
The error logs from the container make it look like the application cannot access /var/lib/odoo/sessions . Perhaps permissions need to be adjusted?
Defintion of Done
-
Bug has been identified and corrected within the container