Cannot delete remote image
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Fix Released
|
Medium
|
Eoghan Glynn |
Bug Description
Trying to delete images from Glance that have the Location set during registration (remote images) fails:
jpipes@
Delete image 203ed357-
Traceback (most recent call last):
File "/usr/local/
execfile(
File "/opt/stack/
result = command(options, args)
File "/opt/stack/
c.delete_
File "/opt/stack/
self.
File "/opt/stack/
return func(self, *args, **kwargs)
File "/opt/stack/
headers=
File "/opt/stack/
return func(self, method, url, body, headers)
File "/opt/stack/
raise Exception("Internal Server error: %s" % res.read())
Exception: Internal Server error: Traceback (most recent call last):
File "/usr/lib/
result = self.applicatio
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/opt/stack/
response = req.get_
File "/usr/lib/
application, catch_exc_
File "/usr/lib/
app_iter = application(
File "/opt/stack/
return self._forward_
File "/opt/stack/
return self.app(env, start_response)
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/opt/stack/
response = req.get_
File "/usr/lib/
application, catch_exc_
File "/usr/lib/
app_iter = application(
File "/usr/lib/
return resp(environ, start_response)
File "/usr/lib/
response = self.app(environ, start_response)
File "/usr/lib/
return resp(environ, start_response)
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/opt/stack/
request, **action_args)
File "/opt/stack/
return method(*args, **kwargs)
File "/opt/stack/
req.context, id)
File "/opt/stack/
return delete_
File "/opt/stack/
raise exception.
StoreDeleteNotS
We should not error out if the backend does not support deletion. We should simply log an informative message and return a successful result.
Changed in glance: | |
assignee: | nobody → Eoghan Glynn (eglynn) |
Changed in glance: | |
status: | Fix Committed → Fix Released |
tags: | added: diablo-backport-needed |
Changed in glance: | |
milestone: | essex-3 → 2012.1 |
Just to clarify, is the intent to either:
a) Change the glance CLI so that an error return from a DELETE call is handled in a more graceful way, i.e. consume the 500 Internal Server Error status & traceback message and return a successful exit status to the shell.
or:
b) Change the semantics and implementation of the Glance REST API, so that a DELETE on an undeletable image returns a pseudo-successful status (i.e. 204 No Content).
Approach (b) would seem to discard information that would be potentially useful to some clients.