-
Bug
-
Resolution: Done
-
Critical
-
quay-v3.3.0, quay-v3.3.1
Description:
This is an issue found when uploading Docker file on Quay Builds page, after choose "Start New Build", upload the target Docker File, Quay redirect to Quay 500 Error page. See error logs.
Note: This issue can be reproduced with Quay 3.3.0
Images:
quay.io/quay/quay-builder:v3.3.1-3
Steps:
- Deploy Quay on GCP and use GCP Object Storage as Quay backend Storage
- Enable Quay Build on Quay-config app
- Login Quay Console
- Create new Image repository
- Navigate to the new repository's build page
- Click "Start New Build"
- Upload Docker file
Expected Results:
Quay start new build by using the uploaded Docker file.
Actual Results:
Quay redirect to Quay 500 error page.
Quay Logs of Quay App POD:
8731 gunicorn-web stdout | 2020-07-23 07:15:14,918 [419] [ERROR] [gunicorn.error] Error handling request /api/v1/filedrop/
8732 Traceback (most recent call last):
8733 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/gunicorn/workers/base_async.py", line 56, in handle
8734 self.handle_request(listener_name, req, client, addr)
8735 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 160, in handle_request
8736 addr)
8737 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/gunicorn/workers/base_async.py", line 107, in handle_request
8738 respiter = self.wsgi(environ, resp.start_response)
8739 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask/app.py", line 2463, in _call_
8740 return self.wsgi_app(environ, start_response)
8741 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/werkzeug/middleware/proxy_fix.py", line 232, in _call_
8742 return self.app(environ, start_response)
8743 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask/app.py", line 2449, in wsgi_app
8744 response = self.handle_exception(e)
8745 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask_restful/_init_.py", line 269, in error_router
8746 return original_handler(e)
8747 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask/app.py", line 1866, in handle_exception
8748 reraise(exc_type, exc_value, tb)
8749 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask_restful/_init_.py", line 266, in error_router
8750 return self.handle_error(e)
8751 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask_restful/utils/cors.py", line 35, in wrapped_function
8752 resp = make_response(f(*args, **kwargs))
8753 File "/quay-registry/endpoints/api/_init_.py", line 61, in handle_error
8754 return super(ApiExceptionHandlingApi, self).handle_error(error)
8755 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask/app.py", line 2446, in wsgi_app
8756 response = self.full_dispatch_request()
8757 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask/app.py", line 1951, in full_dispatch_request
8758 rv = self.handle_user_exception(e)
8759 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask_restful/_init_.py", line 269, in error_router
8760 return original_handler(e)
8761 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask/app.py", line 1820, in handle_user_exception
8762 reraise(exc_type, exc_value, tb)
8763 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask_restful/_init_.py", line 266, in error_router
8764 return self.handle_error(e)
8765 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask_restful/utils/cors.py", line 35, in wrapped_function
8766 resp = make_response(f(*args, **kwargs))
8767 File "/quay-registry/endpoints/api/_init_.py", line 61, in handle_error
8768 return super(ApiExceptionHandlingApi, self).handle_error(error)
8769 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask/app.py", line 1949, in full_dispatch_request
8770 rv = self.dispatch_request()
8771 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask/app.py", line 1935, in dispatch_request
8772 return self.view_functions[rule.endpoint](**req.view_args)
8773 File "/quay-registry/endpoints/decorators.py", line 197, in wrapper
8774 return func(*args, **kwargs)
8775 File "/quay-registry/auth/decorators.py", line 65, in wrapper
8776 return func(*args, **kwargs)
8777 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask_restful/utils/cors.py", line 35, in wrapped_function
8778 resp = make_response(f(*args, **kwargs))
8779 File "/quay-registry/endpoints/csrf.py", line 73, in wrapper
8780 resp = func(*args, **kwargs)
8781 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask_restful/_init_.py", line 458, in wrapper
8782 resp = resource(*args, **kwargs)
8783 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask/views.py", line 89, in view
8784 return self.dispatch_request(*args, **kwargs)
8785 File "/opt/rh/python27/root/usr/lib/python2.7/site-packages/flask_restful/_init_.py", line 573, in dispatch_request
8786 resp = meth(*args, **kwargs)
8787 File "/quay-registry/endpoints/decorators.py", line 145, in wrapper
8788 return func(*args, **kwargs)
8789 File "/quay-registry/endpoints/decorators.py", line 120, in wrapper
8790 return func(*args, **kwargs)
8791 File "/quay-registry/endpoints/api/_init_.py", line 416, in wrapped
8792 return func(self, *args, **kwargs)
8793 File "/quay-registry/endpoints/api/build.py", line 544, in post
8794 (url, file_id) = user_files.prepare_for_drop(mime_type, requires_cors=True)
8795 File "/quay-registry/data/userfiles.py", line 94, in prepare_for_drop
8796 url = self._storage.get_direct_upload_url(self._locations, path, mime_type, requires_cors)
8797 File "/quay-registry/storage/distributedstorage.py", line 24, in wrapper
8798 storage = self._storages[random.sample(locations, 1)[0]]
8799 KeyError: 'default'
8800 gunicorn-web stdout | 2020-07-23 07:15:14,922 [419] [INFO] [gunicorn.access] - - [23/Jul/2020:07:15:14 +0000] "POST /api/v1/filedrop/ HTTP/1.0" 500 0 " " ""