500 error returned when an Admin tries to delete membership of image from a non-existent /invalid tenant
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Fix Released
|
Medium
|
Unmesh Gurjar | ||
Folsom |
Fix Released
|
Medium
|
Eoghan Glynn | ||
Grizzly |
Fix Released
|
Medium
|
Unmesh Gurjar |
Bug Description
Steps to reproduce
1. Add an image to a tenant
$ glance member-add --can-share a2bfa0c3-
$ glance member-list --image-id a2bfa0c3-
+------
| Image ID | Member ID | Can Share |
+------
| a2bfa0c3-
+------
2. Try to delete the membership of image from another, or an invalid instance:
Actual result: HTTP 500 Internal Server Error
$ curl -v -H "X-Auth-
* About to connect() to 10.2.3.102 port 9292 (#0)
* Trying 10.2.3.102... connected
> DELETE /v1/images/
> User-Agent: curl/7.22.0 (x86_64-
> Host: 10.2.3.102:9292
> Accept: */*
> X-Auth-
> Content-type: application/json
>
< HTTP/1.1 500 Internal Server Error
< Content-Type: text/plain
< Content-Length: 5073
< Date: Wed, 03 Oct 2012 09:37:25 GMT
< Connection: close
<
Traceback (most recent call last):
File "/usr/local/
result = self.applicatio
File "/usr/local/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/local/
return self.func(req, *args, **kwargs)
File "/opt/stack/
response = req.get_
File "/usr/local/
application, catch_exc_
File "/usr/local/
app_iter = application(
File "/opt/stack/
return self.app(env, start_response)
File "/usr/local/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/local/
return self.func(req, *args, **kwargs)
File "/opt/stack/
response = req.get_
File "/usr/local/
application, catch_exc_
File "/usr/local/
app_iter = application(
File "/usr/local/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/local/
return self.func(req, *args, **kwargs)
File "/opt/stack/
response = req.get_
File "/usr/local/
application, catch_exc_
File "/usr/local/
app_iter = application(
File "/usr/local/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/local/
return self.func(req, *args, **kwargs)
File "/opt/stack/
response = req.get_
File "/usr/local/
application, catch_exc_
File "/usr/local/
app_iter = application(
File "/usr/lib/
return app(environ, start_response)
File "/usr/local/
return resp(environ, start_response)
File "/usr/lib/
response = self.app(environ, start_response)
File "/usr/local/
return resp(environ, start_response)
File "/usr/local/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/local/
return self.func(req, *args, **kwargs)
File "/opt/stack/
request, **action_args)
File "/opt/stack/
return method(*args, **kwargs)
File "/opt/stack/
return func(self, req, *args, **kwargs)
File "/opt/stack/
registry.
File "/opt/stack/
return c.delete_
File "/opt/stack/
(image_id, member_id))
File "/opt/stack/
action, **kwargs)
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.
ServerError: The request returned 500 Internal Server Error.
* Closing connection #0
Expected Result: 404 Not Found for deleting membership from a non-existent or invalid tenant.
Changed in glance: | |
assignee: | nobody → Unmesh Gurjar (unmesh-gurjar) |
Changed in glance: | |
importance: | Undecided → Medium |
Changed in glance: | |
milestone: | none → grizzly-1 |
status: | Fix Committed → Fix Released |
tags: | removed: in-stable-folsom |
Fix proposed to branch: master /review. openstack. org/14210
Review: https:/