Public bug reported: When creating an image in glance v1 and specifyig the location with a bad scheme you receive an HTTP 500. In this case 'http+swift" is a bad scheme.
glance image-create --name bad-location --disk-format=vhd --container- format=ovf --location="http+swift://bah" Request returned failure status. HTTPInternalServerError (HTTP 500) 2013-12-03 21:24:32.009 6312 INFO glance.wsgi.server [402e831a-935d-4e14-b4c8-64653c14263d 1c3848b015f94b70866e a33fa52945f0 54bc4959075343ff80f460b77e783a49] Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 389, in handle_one_response result = self.application(self.environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ response = req.get_response(self.application) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send application, catch_exc_info=False) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application app_iter = application(self.environ, start_response) File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 581, in __call__ return self.app(env, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ response = req.get_response(self.application) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send application, catch_exc_info=False) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application app_iter = application(self.environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ response = req.get_response(self.application) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send application, catch_exc_info=False) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application app_iter = application(self.environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ response = req.get_response(self.application) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send application, catch_exc_info=False) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application app_iter = application(self.environ, start_response) File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 203, in __call__ return app(environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ return resp(environ, start_response) File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__ response = self.app(environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ return resp(environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 599, in __call__ request, **action_args) File "/opt/stack/glance/glance/common/wsgi.py", line 618, in dispatch return method(*args, **kwargs) File "/opt/stack/glance/glance/common/utils.py", line 422, in wrapped return func(self, req, *args, **kwargs) File "/opt/stack/glance/glance/api/v1/images.py", line 754, in create image_meta = self._reserve(req, image_meta) File "/opt/stack/glance/glance/api/v1/images.py", line 488, in _reserve store = get_store_from_location(location) File "/opt/stack/glance/glance/store/__init__.py", line 263, in get_store_from_location loc = location.get_location_from_uri(uri) File "/opt/stack/glance/glance/store/location.py", line 73, in get_location_from_uri raise exception.UnknownScheme(scheme=pieces.scheme) UnknownScheme: Unknown scheme 'http+swift' found in URI 2013-12-03 21:24:32.011 6312 INFO glance.wsgi.server [402e831a-935d- 4e14-b4c8-64653c14263d 1c3848b015f94b70866ea33fa52945f0 54bc4959075343ff80f460b77e783a49] localhost - - [03/Dec/2013 21:24:32] "POST /v1/images HTTP/1.1" 500 139 0.216952 ** Affects: glance Importance: Low Status: New ** Description changed: When creating an image in glance v1 and specifyig the location with a bad scheme you receive an HTTP 500. In this case 'http+swift" is a bad scheme. glance image-create --name bad-location --disk-format=vhd --container- format=ovf --location="http+swift://bah" Request returned failure status. HTTPInternalServerError (HTTP 500) - - - 2013-12-03 21:24:32.009 6312 INFO glance.wsgi.server [402e831a-935d-4e14-b4c8-64653c14263d 1c3848b015f94b70866e a33fa52945f0 54bc4959075343ff80f460b77e783a49] Traceback (most recent call last): - File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 389, in handle_one_response - result = self.application(self.environ, start_response) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ - resp = self.call_func(req, *args, **self.kwargs) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func - return self.func(req, *args, **kwargs) - File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ - response = req.get_response(self.application) - File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send - application, catch_exc_info=False) - File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application - app_iter = application(self.environ, start_response) - File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 581, in __call__ - return self.app(env, start_response) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ - resp = self.call_func(req, *args, **self.kwargs) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func - return self.func(req, *args, **kwargs) - File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ - response = req.get_response(self.application) - File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send - application, catch_exc_info=False) - File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application - app_iter = application(self.environ, start_response) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ - resp = self.call_func(req, *args, **self.kwargs) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func - return self.func(req, *args, **kwargs) - File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ - response = req.get_response(self.application) - File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send - application, catch_exc_info=False) - File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application - app_iter = application(self.environ, start_response) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ - resp = self.call_func(req, *args, **self.kwargs) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func - return self.func(req, *args, **kwargs) - File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ - response = req.get_response(self.application) - File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send - application, catch_exc_info=False) - File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application - app_iter = application(self.environ, start_response) - File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 203, in __call__ - return app(environ, start_response) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ - return resp(environ, start_response) - File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__ - response = self.app(environ, start_response) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ - return resp(environ, start_response) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ - resp = self.call_func(req, *args, **self.kwargs) - File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func - return self.func(req, *args, **kwargs) - File "/opt/stack/glance/glance/common/wsgi.py", line 599, in __call__ - request, **action_args) - File "/opt/stack/glance/glance/common/wsgi.py", line 618, in dispatch - return method(*args, **kwargs) - File "/opt/stack/glance/glance/common/utils.py", line 422, in wrapped - return func(self, req, *args, **kwargs) - File "/opt/stack/glance/glance/api/v1/images.py", line 754, in create - image_meta = self._reserve(req, image_meta) - File "/opt/stack/glance/glance/api/v1/images.py", line 488, in _reserve - store = get_store_from_location(location) - File "/opt/stack/glance/glance/store/__init__.py", line 263, in get_store_from_location - loc = location.get_location_from_uri(uri) - File "/opt/stack/glance/glance/store/location.py", line 73, in get_location_from_uri - raise exception.UnknownScheme(scheme=pieces.scheme) + File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 389, in handle_one_response + result = self.application(self.environ, start_response) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ + resp = self.call_func(req, *args, **self.kwargs) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func + return self.func(req, *args, **kwargs) + File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ + response = req.get_response(self.application) + File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send + application, catch_exc_info=False) + File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application + app_iter = application(self.environ, start_response) + File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 581, in __call__ + return self.app(env, start_response) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ + resp = self.call_func(req, *args, **self.kwargs) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func + return self.func(req, *args, **kwargs) + File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ + response = req.get_response(self.application) + File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send + application, catch_exc_info=False) + File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application + app_iter = application(self.environ, start_response) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ + resp = self.call_func(req, *args, **self.kwargs) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func + return self.func(req, *args, **kwargs) + File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ + response = req.get_response(self.application) + File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send + application, catch_exc_info=False) + File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application + app_iter = application(self.environ, start_response) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ + resp = self.call_func(req, *args, **self.kwargs) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func + return self.func(req, *args, **kwargs) + File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ + response = req.get_response(self.application) + File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send + application, catch_exc_info=False) + File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application + app_iter = application(self.environ, start_response) + File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 203, in __call__ + return app(environ, start_response) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ + return resp(environ, start_response) + File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__ + response = self.app(environ, start_response) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ + return resp(environ, start_response) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ + resp = self.call_func(req, *args, **self.kwargs) + File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func + return self.func(req, *args, **kwargs) + File "/opt/stack/glance/glance/common/wsgi.py", line 599, in __call__ + request, **action_args) + File "/opt/stack/glance/glance/common/wsgi.py", line 618, in dispatch + return method(*args, **kwargs) + File "/opt/stack/glance/glance/common/utils.py", line 422, in wrapped + return func(self, req, *args, **kwargs) + File "/opt/stack/glance/glance/api/v1/images.py", line 754, in create + image_meta = self._reserve(req, image_meta) + File "/opt/stack/glance/glance/api/v1/images.py", line 488, in _reserve + store = get_store_from_location(location) + File "/opt/stack/glance/glance/store/__init__.py", line 263, in get_store_from_location + loc = location.get_location_from_uri(uri) + File "/opt/stack/glance/glance/store/location.py", line 73, in get_location_from_uri + raise exception.UnknownScheme(scheme=pieces.scheme) UnknownScheme: Unknown scheme 'http+swift' found in URI - - 2013-12-03 21:24:32.011 6312 INFO glance.wsgi.server [402e831a-935d-4e14-b4c8-64653c14263d 1c3848b015f94b70866ea33fa52945f0 54bc4959075343ff80f460b77e783a49] 162.209.79.194 - - [03/Dec/2013 21:24:32] "POST /v1/images HTTP/1.1" 500 139 0.216952 + 2013-12-03 21:24:32.011 6312 INFO glance.wsgi.server [402e831a-935d- + 4e14-b4c8-64653c14263d 1c3848b015f94b70866ea33fa52945f0 + 54bc4959075343ff80f460b77e783a49] localhost - - [03/Dec/2013 21:24:32] + "POST /v1/images HTTP/1.1" 500 139 0.216952 -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to Glance. https://bugs.launchpad.net/bugs/1257496 Title: Glance v1: Creating image with bad scheme in location causes 500 Status in OpenStack Image Registry and Delivery Service (Glance): New Bug description: When creating an image in glance v1 and specifyig the location with a bad scheme you receive an HTTP 500. In this case 'http+swift" is a bad scheme. glance image-create --name bad-location --disk-format=vhd --container- format=ovf --location="http+swift://bah" Request returned failure status. HTTPInternalServerError (HTTP 500) 2013-12-03 21:24:32.009 6312 INFO glance.wsgi.server [402e831a-935d-4e14-b4c8-64653c14263d 1c3848b015f94b70866e a33fa52945f0 54bc4959075343ff80f460b77e783a49] Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 389, in handle_one_response result = self.application(self.environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ response = req.get_response(self.application) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send application, catch_exc_info=False) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application app_iter = application(self.environ, start_response) File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 581, in __call__ return self.app(env, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ response = req.get_response(self.application) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send application, catch_exc_info=False) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application app_iter = application(self.environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ response = req.get_response(self.application) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send application, catch_exc_info=False) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application app_iter = application(self.environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 367, in __call__ response = req.get_response(self.application) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send application, catch_exc_info=False) File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application app_iter = application(self.environ, start_response) File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 203, in __call__ return app(environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ return resp(environ, start_response) File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__ response = self.app(environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ return resp(environ, start_response) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 599, in __call__ request, **action_args) File "/opt/stack/glance/glance/common/wsgi.py", line 618, in dispatch return method(*args, **kwargs) File "/opt/stack/glance/glance/common/utils.py", line 422, in wrapped return func(self, req, *args, **kwargs) File "/opt/stack/glance/glance/api/v1/images.py", line 754, in create image_meta = self._reserve(req, image_meta) File "/opt/stack/glance/glance/api/v1/images.py", line 488, in _reserve store = get_store_from_location(location) File "/opt/stack/glance/glance/store/__init__.py", line 263, in get_store_from_location loc = location.get_location_from_uri(uri) File "/opt/stack/glance/glance/store/location.py", line 73, in get_location_from_uri raise exception.UnknownScheme(scheme=pieces.scheme) UnknownScheme: Unknown scheme 'http+swift' found in URI 2013-12-03 21:24:32.011 6312 INFO glance.wsgi.server [402e831a-935d- 4e14-b4c8-64653c14263d 1c3848b015f94b70866ea33fa52945f0 54bc4959075343ff80f460b77e783a49] localhost - - [03/Dec/2013 21:24:32] "POST /v1/images HTTP/1.1" 500 139 0.216952 To manage notifications about this bug go to: https://bugs.launchpad.net/glance/+bug/1257496/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp