yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #08576
[Bug 1257498] Re: Glance v1: Creating/updating image with a malformed location uri causes 500
** Changed in: glance
Status: Fix Committed => Fix Released
** Changed in: glance
Milestone: None => icehouse-2
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1257498
Title:
Glance v1: Creating/updating image with a malformed location uri
causes 500
Status in OpenStack Image Registry and Delivery Service (Glance):
Fix Released
Bug description:
glance image-create --name bad-location --disk-format=vhd --container-
format=ovf --location="swift+http://bah"
Request returned failure status.
HTTPInternalServerError (HTTP 500)
2013-12-03 21:26:16.684 6312 INFO glance.wsgi.server [eee7679e-6710-4487-9f55-fae7ba4a7aaa 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 76, in get_location_from_uri
store_location_class=scheme_info['location_class'])
File "/opt/stack/glance/glance/store/location.py", line 116, in __init__
self.store_location.parse_uri(uri)
File "/opt/stack/glance/glance/store/swift.py", line 230, in parse_uri
raise exception.BadStoreUri()
BadStoreUri: The Store URI was malformed.
2013-12-03 21:26:16.687 6312 INFO glance.wsgi.server [eee7679e-6710-4487-9f55-fae7ba4a7aaa 1c3848b015f94b70866ea33fa52945f0 54bc4959075343ff80f460b77e783a49] localhost - - [03/Dec/2013 21:26:16] "POST /v1/images HTTP/1.1" 500 139 0.149873
--------------OR------------
glance image-update 7b724ba6-6451-4280-85e4-1c46b3e6e5b5
--location="swift+http://bah"
Request returned failure status.
HTTPInternalServerError (HTTP 500)
2013-12-03 21:38:38.240 6312 INFO glance.wsgi.server [09a2c6ad-965d-4063-ae47-dd592805b7cd 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 833, in update
public=is_public)
File "/opt/stack/glance/glance/api/v1/controller.py", line 81, in update_store_acls
write_tenants=write_tenants)
File "/opt/stack/glance/glance/store/__init__.py", line 359, in set_acls
loc = location.get_location_from_uri(location_uri)
File "/opt/stack/glance/glance/store/location.py", line 76, in get_location_from_uri
store_location_class=scheme_info['location_class'])
File "/opt/stack/glance/glance/store/location.py", line 116, in __init__
self.store_location.parse_uri(uri)
File "/opt/stack/glance/glance/store/swift.py", line 230, in parse_uri
raise exception.BadStoreUri()
BadStoreUri: The Store URI was malformed.
2013-12-03 21:38:38.243 6312 INFO glance.wsgi.server [09a2c6ad-965d-4063-ae47-dd592805b7cd 1c3848b015f94b70866ea33fa52945f0 54bc4959075343ff80f460b77e783a49] localhost - - [03/Dec/2013 21:38:38] "PUT /v1/images/7b724ba6-6451-4280-85e4-1c46b3e6e5b5 HTTP/1.1" 500 139 0.037583
To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1257498/+subscriptions
References