We have a multi-node Openstack cluster running Folsom 2012.2.3 on Ubuntu 12.04. A few days ago we added a new compute node, and found that we were unable to launch new instances from a pre-existing Ubuntu Server 12.04 LTS image stored in glance. Each spawning attempt would deposit a glance client exception (shown below) in the compute node's nova-compute.log.
After quite a lot of investigation, I found that the original --location URL (used during "glance image-create") of the Ubuntu Server image had gone out of date. This was evidently causing a BadStoreUri exception on the glance server during instance spawning, resulting in a 500 error being returned to our new compute node's glance client. I was able to resolve the problem by re-importing an Ubuntu Server 12.04 LTS image from a working mirror.
Improved error logged would have saved us hours of troubleshooting.
We have a multi-node Openstack cluster running Folsom 2012.2.3 on Ubuntu 12.04. A few days ago we added a new compute node, and found that we were unable to launch new instances from a pre-existing Ubuntu Server 12.04 LTS image stored in glance. Each spawning attempt would deposit a glance client exception (shown below) in the compute node's nova-compute.log.
After quite a lot of investigation, I found that the original --location URL (used during "glance image-create") of the Ubuntu Server image had gone out of date. This was evidently causing a BadStoreUri exception on the glance server during instance spawning, resulting in a 500 error being returned to our new compute node's glance client. I was able to resolve the problem by re-importing an Ubuntu Server 12.04 LTS image from a working mirror.
Improved error logged would have saved us hours of troubleshooting.
2013-06-27 21:19:24 ERROR nova.compute. manager [req-f8d7c23a- e8ad-4059- bea4-4fc588a6af e0 9d8968d3f17f469 7aaf923c14651ce 7b e5fb3c6db0db4e9 c86d0301005e2e5 bb] [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] Instance failed to spawn manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] Traceback (most recent call last): manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/compute/ manager. py", line 756, in _spawn manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] block_device_info) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/exception. py", line 117, in wrapped manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] temp_level, payload) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/contextlib. py", line 24, in __exit__ manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] self.gen.next() manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/exception. py", line 92, in wrapped manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] return f(*args, **kw) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ libvirt/ driver. py", line 1099, in spawn manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] admin_pass= admin_password) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ libvirt/ driver. py", line 1365, in _create_image manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] project_ id=instance[ 'project_ id']) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ libvirt/ imagebackend. py", line 131, in cache manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] *args, **kwargs) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ libvirt/ imagebackend. py", line 178, in create_image manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] prepare_ template( target= base, *args, **kwargs) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/utils. py", line 795, in inner manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] retval = f(*args, **kwargs) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ libvirt/ imagebackend. py", line 122, in call_if_not_exists manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] fetch_func( target= target, *args, **kwargs) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ libvirt/ utils.py" , line 440, in fetch_image manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] images. fetch_to_ raw(context, image_id, target, user_id, project_id) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ images. py", line 87, in fetch_to_raw manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] fetch(context, image_href, path_tmp, user_id, project_id) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ images. py", line 82, in fetch manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] image_service. download( context, image_id, image_file) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/image/ glance. py", line 222, in download manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] _reraise_ translated_ image_exception (image_ id) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/image/ glance. py", line 220, in download manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] image_chunks = self._client. call(context, 1, 'data', image_id) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ nova/image/ glance. py", line 138, in call manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] return getattr( client. images, method)(*args, **kwargs) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ glanceclient/ v1/images. py", line 108, in data manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] resp, body = self.api. raw_request( 'GET', '/v1/images/%s' % image_id) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ glanceclient/ common/ http.py" , line 191, in raw_request manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] return self._http_ request( url, method, **kwargs) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] File "/usr/lib/ python2. 7/dist- packages/ glanceclient/ common/ http.py" , line 158, in _http_request manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] raise exc.from_ response( resp) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d] HTTPInternalSer verError: HTTPInternalSer verError (HTTP 500) manager [instance: 1cdd84ad- ba1b-4e5c- 8711-8e2c91b48c 3d]
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.
2013-06-27 21:19:24 5290 TRACE nova.compute.