If you enable delayed delete you get an E500 and the following stack
trace:

Dec  2 11:29:17 gl-aw1rdc1-registry0000 4101 DEBUG eventlet.wsgi.server 
[f46a69d7-c49b-4e41-ad12-447bcd7d2c38 77049353665607 34096082065107] Traceback 
(most recent call last):
012  File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 384, in 
handle_one_response
012    result = self.application(self.environ, start_response)
012  File 
"/usr/lib/python2.7/dist-packages/hp_glance_extras/middleware/healthcheck.py", 
line 38, in __call__
012    return self.app(env, start_response)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
012    resp = self.call_func(req, *args, **self.kwargs)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in 
call_func
012    return self.func(req, *args, **kwargs)
012  File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 377, 
in __call__
012    response = req.get_response(self.application)
012  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1296, in 
send
012    application, catch_exc_info=False)
012  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1260, in 
call_application
012    app_iter = application(self.environ, start_response)
012  File "/usr/lib/python2.7/dist-packages/hp/middleware/cs_auth_token.py", 
line 160, in __call__
012    return super(CsAuthProtocol, self).__call__(env, start_response)
012  File 
"/usr/lib/python2.7/dist-packages/keystoneclient/middleware/auth_token.py", 
line 539, in __call__
012    return self.app(env, start_response)
012  File "/usr/lib/python2.7/dist-packages/hp/middleware/cs_authz.py", line 
30, in __call__
012    return self.app(env, start_response)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
012    resp = self.call_func(req, *args, **self.kwargs)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in 
call_func
012    return self.func(req, *args, **kwargs)
012  File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 377, 
in __call__
012    response = req.get_response(self.application)
012  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1296, in 
send
012    application, catch_exc_info=False)
012  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1260, in 
call_application
012    app_iter = application(self.environ, start_response)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
012    resp = self.call_func(req, *args, **self.kwargs)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in 
call_func
012    return self.func(req, *args, **kwargs)
012  File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 377, 
in __call__
012    response = req.get_response(self.application)
012  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1296, in 
send
012    application, catch_exc_info=False)
012  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1260, in 
call_application
012    app_iter = application(self.environ, start_response)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
012    resp = self.call_func(req, *args, **self.kwargs)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in 
call_func
012    return self.func(req, *args, **kwargs)
012  File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 377, 
in __call__
012    response = req.get_response(self.application)
012  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1296, in 
send
012    application, catch_exc_info=False)
012  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1260, in 
call_application
012    app_iter = application(self.environ, start_response)
012  File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 203, in 
__call__
012    return app(environ, start_response)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
012    return resp(environ, start_response)
012  File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in 
__call__
012    response = self.app(environ, start_response)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
012    return resp(environ, start_response)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
012    resp = self.call_func(req, *args, **self.kwargs)
012  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in 
call_func
012    return self.func(req, *args, **kwargs)
012  File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 609, 
in __call__
012    request, **action_args)
012  File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 628, 
in dispatch
012    return method(*args, **kwargs)
012  File "/usr/lib/python2.7/dist-packages/glance/common/utils.py", line 422, 
in wrapped
012    return func(self, req, *args, **kwargs)
012  File "/usr/lib/python2.7/dist-packages/glance/api/v1/images.py", line 931, 
in delete
012    CONF.delayed_delete)
012  File "/usr/lib/python2.7/dist-packages/glance/api/v1/upload_utils.py", 
line 45, in initiate_deletion
012    location, id)
012  File "/usr/lib/python2.7/dist-packages/glance/store/__init__.py", line 
293, in schedule_delayed_delete_from_backend
012    file_queue.add_location(image_id, uri)
012  File "/usr/lib/python2.7/dist-packages/glance/store/scrubber.py", line 
175, in add_location
012    image = self.registry.get_image(image_id)
012  File 
"/usr/lib/python2.7/dist-packages/glance/registry/client/v1/client.py", line 
143, in get_image
012    res = self.do_request("GET", "/images/%s" % image_id)
012  File 
"/usr/lib/python2.7/dist-packages/glance/registry/client/v1/client.py", line 
110, in do_request
012    **kwargs)
012  File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line 67, 
in wrapped
012    return func(self, *args, **kwargs)
012  File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line 383, 
in do_request
012    headers=copy.deepcopy(headers))
012  File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line 81, 
in wrapped
012    return func(self, method, url, body, headers)
012  File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line 524, 
in _do_request
012    raise exception.NotAuthenticated(res.read())
012NotAuthenticated: Authentication required



** Changed in: glance
       Status: Invalid => Confirmed

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1238604

Title:
  Run into 500 error during delete image

Status in OpenStack Image Registry and Delivery Service (Glance):
  Confirmed

Bug description:
  Recreate steps:
  1. Enable delayed delete
      delayed_delete = True

  2. Create a new image by:
      glance image-create --name flwang_1 --container-format bare --disk-format 
qcow2 --is-public yes --location 
https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img

  3. Delete image by:
      glance image-delete flwang_1

  You will see an error like below, but the image has been deleted, in 
'pending-delete' state.
  Request returned failure status.
  HTTPInternalServerError (HTTP 500): Unable to delete image 
86d0a3df-d140-4d41-aaae-f1c538591d3d

To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1238604/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to