In this case the issue is happening in 6.1. The customers steps are:
Upload an image larger than the Glance image size(300gb). The image file fails(322gb). RBD receives some of the data(256gb) but doesn't get the entire image. Glance allows the end user to delete the image in glance, but the image does not get deleted out of Ceph.
Errors that lead to tagging this issue as the cause:
File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 683, in __call__
request, **action_args)
File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 707, in dispatch
return method(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/glance/common/utils.py", line 502, in wrapped
return func(self, req, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/glance/api/v1/images.py", line 1084, in delete
{'status': ori_status})
File "/usr/lib/python2.7/dist-packages/glance/openstack/common/excutils.py", line 82, in __exit__
six.reraise(self.type_, self.value, self.tb)
File "/usr/lib/python2.7/dist-packages/glance/api/v1/images.py", line 1080, in delete
upload_utils.initiate_deletion(req, loc_data, id)
File "/usr/lib/python2.7/dist-packages/glance/api/v1/upload_utils.py", line 46, in initiate_deletion
id, location_data)
File "/usr/lib/python2.7/dist-packages/glance/common/store_utils.py", line 124, in delete_image_location_from_backend
safe_delete_from_backend(context, image_id, location)
File "/usr/lib/python2.7/dist-packages/glance/common/store_utils.py", line 58, in safe_delete_from_backend
ret = store_api.delete_from_backend(location['url'], context=context)
File "/usr/lib/python2.7/dist-packages/glance_store/backend.py", line 280, in delete_from_backend
return store.delete(loc, context=context)
File "/usr/lib/python2.7/dist-packages/glance_store/_drivers/rbd.py", line 406, in delete
self._delete_image(target_pool, loc.image, loc.snapshot)
File "/usr/lib/python2.7/dist-packages/glance_store/_drivers/rbd.py", line 301, in _delete_image
raise exceptions.InUseByStore()
In this case the issue is happening in 6.1. The customers steps are:
Upload an image larger than the Glance image size(300gb). The image file fails(322gb). RBD receives some of the data(256gb) but doesn't get the entire image. Glance allows the end user to delete the image in glance, but the image does not get deleted out of Ceph.
Errors that lead to tagging this issue as the cause:
File "/usr/lib/ python2. 7/dist- packages/ glance/ common/ wsgi.py" , line 683, in __call__ python2. 7/dist- packages/ glance/ common/ wsgi.py" , line 707, in dispatch python2. 7/dist- packages/ glance/ common/ utils.py" , line 502, in wrapped python2. 7/dist- packages/ glance/ api/v1/ images. py", line 1084, in delete python2. 7/dist- packages/ glance/ openstack/ common/ excutils. py", line 82, in __exit__ reraise( self.type_ , self.value, self.tb) python2. 7/dist- packages/ glance/ api/v1/ images. py", line 1080, in delete utils.initiate_ deletion( req, loc_data, id) python2. 7/dist- packages/ glance/ api/v1/ upload_ utils.py" , line 46, in initiate_deletion python2. 7/dist- packages/ glance/ common/ store_utils. py", line 124, in delete_ image_location_ from_backend delete_ from_backend( context, image_id, location) python2. 7/dist- packages/ glance/ common/ store_utils. py", line 58, in safe_delete_ from_backend delete_ from_backend( location[ 'url'], context=context) python2. 7/dist- packages/ glance_ store/backend. py", line 280, in delete_from_backend python2. 7/dist- packages/ glance_ store/_ drivers/ rbd.py" , line 406, in delete _delete_ image(target_ pool, loc.image, loc.snapshot) python2. 7/dist- packages/ glance_ store/_ drivers/ rbd.py" , line 301, in _delete_image InUseByStore( )
request, **action_args)
File "/usr/lib/
return method(*args, **kwargs)
File "/usr/lib/
return func(self, req, *args, **kwargs)
File "/usr/lib/
{'status': ori_status})
File "/usr/lib/
six.
File "/usr/lib/
upload_
File "/usr/lib/
id, location_data)
File "/usr/lib/
safe_
File "/usr/lib/
ret = store_api.
File "/usr/lib/
return store.delete(loc, context=context)
File "/usr/lib/
self.
File "/usr/lib/
raise exceptions.