yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #24758
[Bug 1370387] Re: Fail to fetch non-raw image on image_backend=RBD
*** This bug is a duplicate of bug 1371040 ***
https://bugs.launchpad.net/bugs/1371040
The glance traceback shows that it's a bug in glance_store. This is actually a duplicate of https://bugs.launchpad.net/glance/+bug/1371040.
Please update your glance store to >=0.1.9 which fixes this bug.
** This bug has been marked a duplicate of bug 1371040
glance store rbd driver get method returns tupe more than basic driver defines
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1370387
Title:
Fail to fetch non-raw image on image_backend=RBD
Status in OpenStack Compute (Nova):
Confirmed
Bug description:
Using the image_backend RBD and booting a non-raw image results in a fallback to fetch_to_raw function where the goal is to download the qcow2 image on the compute, convert it into raw and import it into ceph.
Fetching the image fails with the following errors:
On the nova-compute logs:
2014-09-16 10:16:23.061 ERROR nova.compute.manager [req-4c42af30-bc04-4648-bd12-14419031be80 admin admin] [instance: 18d8659a-0247-4472-97be-9c6c9007689b] Instance failed to spaw
n
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] Traceback (most recent call last):
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/compute/manager.py", line 2203, in _build_resourc
es
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] yield resources
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/compute/manager.py", line 2082, in _build_and_run
_instance
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] block_device_info=block_device_info)
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 2598, in spawn
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] admin_pass=admin_password)
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 2974, in _create_im
age
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] project_id=instance['project_id'])2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/virt/libvirt/imagebackend.py", line 206, in cache2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] *args, **kwargs)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/virt/libvirt/imagebackend.py", line 396, in create_image2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] prepare_template(target=base, max_size=size, *args, **kwargs)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/openstack/common/lockutils.py", line 270, in inner2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] return f(*args, **kwargs)
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/virt/libvirt/imagebackend.py", line 196, in fetch_func_sync
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] fetch_func(target=target, *args, **kwargs)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/virt/libvirt/utils.py", line 452, in fetch_image
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] max_size=max_size)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/virt/images.py", line 73, in fetch_to_raw
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] max_size=max_size)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/virt/images.py", line 67, in fetch
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] IMAGE_API.download(context, image_href, dest_path=path)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/image/api.py", line 178, in download
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] dst_path=dest_path)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/image/glance.py", line 352, in download
2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] _reraise_translated_image_exception(image_id)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/image/glance.py", line 350, in download2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] image_chunks = self._client.call(context, 1, 'data', image_id)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/nova/nova/image/glance.py", line 225, in call2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] return getattr(client.images, method)(*args, **kwargs)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/python-glanceclient/glanceclient/v1/images.py", line 142, in data2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] % urlparse.quote(str(image_id)))2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/python-glanceclient/glanceclient/common/http.py", line 253, in get2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] return self._request('GET', url, **kwargs)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] File "/opt/stack/python-glanceclient/glanceclient/common/http.py", line 221, in _request2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] raise exc.from_response(resp, resp.content)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b] HTTPInternalServerError: HTTPInternalServerError (HTTP 500)2014-09-16 10:16:23.061 TRACE nova.compute.manager [instance: 18d8659a-0247-4472-97be-9c6c9007689b]
On the glance-api logs:
2014-09-16 10:41:43.728 19722 INFO glance.wsgi.server [-] Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 433, in handle_one_response
result = self.application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/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 394, in __call__
response = req.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
return self.func(req, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/osprofiler/web.py", line 106, in __call__
return request.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
app_iter = application(self.environ, start_response)
File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py", line 646, in __call__
return self._call_app(env, start_response)
File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py", line 624, in _call_app
return self._app(env, _fake_start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/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 394, in __call__
response = req.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/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 394, in __call__
response = req.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/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 394, in __call__
response = req.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 206, in __call__
return app(environ, start_response)
File "/usr/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/routes/middleware.py", line 131, in __call__
response = self.app(environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
return resp(environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/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 683, in __call__
request, **action_args)
File "/opt/stack/glance/glance/common/wsgi.py", line 707, in dispatch
return method(*args, **kwargs)
File "/opt/stack/glance/glance/api/v1/images.py", line 494, in show
image_meta['location'])
File "/opt/stack/glance/glance/api/v1/images.py", line 456, in _get_from_store
image_data, image_size = src_store.get(loc, context=context)
ValueError: too many values to unpack
Using glance v2 should work, however it used to work on v1.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1370387/+subscriptions
References