Rbd driver can't delete image with unprotected snapshot
Bug #1686063 reported by
Slawek Kaplonski
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Fix Released
|
Undecided
|
Unassigned | ||
glance_store |
Fix Released
|
Undecided
|
Slawek Kaplonski | ||
python-glance-store (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Rbd driver from glance_store is always trying to unprotect and then remove snapshot if there is any snapshot made on image.
If, for some reason, snapshot is unprotected already, Rbd.image() will raise exception InvalidArgument which glance_store don't handle. Because of that image is not deleted and glance returns error 500 to user.
Changed in glance-store: | |
assignee: | nobody → Slawek Kaplonski (slaweq) |
tags: | added: cpe-onsite |
To post a comment you must log in.
Error stacktrace:
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi [req-8ec61501- fe65-4b1b- a8af-ab71bbc153 93 0d671b302f6a4aa 29dd605881a9ac7 e7 88bccf10385a45d 0a8cd0733e5db87 34 - 1e1b967db9714f7 8a63a26eabccc31 2d 1e1b967db9714f7 8a63a26eabccc31 2d] Caught error: error unprotecting snapshot 56d1c793- 2d91-4aae- bc77-37f4fc0f38 b5@snap python2. 7/dist- packages/ glance/ common/ wsgi.py" , line 1113, in __call__ python2. 7/dist- packages/ glance/ common/ wsgi.py" , line 1152, in dispatch python2. 7/dist- packages/ glance/ common/ utils.py" , line 363, in wrapped python2. 7/dist- packages/ glance/ api/v2/ images. py", line 235, in delete python2. 7/dist- packages/ glance/ domain/ proxy.py" , line 186, in delete python2. 7/dist- packages/ glance/ domain/ proxy.py" , line 186, in delete python2. 7/dist- packages/ glance/ api/policy. py", line 163, in delete python2. 7/dist- packages/ glance/ domain/ proxy.py" , line 186, in delete python2. 7/dist- packages/ glance/ location. py", line 407, in delete python2. 7/dist- packages/ glance/ common/ store_utils. py", line 114, in delete_ image_location_ from_backend from_backend( context, image_id, location) python2. 7/dist- packages/ glance/ common/ store_utils. py", line 48, in safe_delete_ from_backend delete_ from_backend( location[ 'url'], context=context) python2. 7/dist- packages/ glance_ store/backend. py", line 372, in delete_from_backend
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi Traceback (most recent call last):
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi request, **action_args)
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi return method(*args, **kwargs)
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi return func(self, req, *args, **kwargs)
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi image.delete()
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi self.base.delete()
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi self.base.delete()
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi return self.image.delete()
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi self.base.delete()
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi location)
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi safe_delete_
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi ret = store_api.
2017-04-25 10:15:26.646 11926 ERROR glance.common.wsgi File "/usr/lib/
2017-04-25...