list images invalid marker throws 500 error

Bug #944846 reported by Mark Washenberger
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Undecided
Mark Washenberger

Bug Description

Example stacktrace

(nova.api.openstack): TRACE: Traceback (most recent call last):
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/nova/api/openstack/__init__.py", line 41, in __call__
(nova.api.openstack): TRACE: return req.get_response(self.application)
(nova.api.openstack): TRACE: File "/usr/lib/pymodules/python2.6/webob/request.py", line 919, in get_response
(nova.api.openstack): TRACE: application, catch_exc_info=False)
(nova.api.openstack): TRACE: File "/usr/lib/pymodules/python2.6/webob/request.py", line 887, in call_application
(nova.api.openstack): TRACE: app_iter = application(self.environ, start_response)
(nova.api.openstack): TRACE: File "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
(nova.api.openstack): TRACE: return resp(environ, start_response)
(nova.api.openstack): TRACE: File "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
(nova.api.openstack): TRACE: return resp(environ, start_response)
(nova.api.openstack): TRACE: File "/usr/lib/pymodules/python2.6/routes/middleware.py", line 131, in __call__
(nova.api.openstack): TRACE: response = self.app(environ, start_response)
(nova.api.openstack): TRACE: File "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
(nova.api.openstack): TRACE: return resp(environ, start_response)
(nova.api.openstack): TRACE: File "/usr/lib/pymodules/python2.6/webob/dec.py", line 147, in __call__
(nova.api.openstack): TRACE: resp = self.call_func(req, *args, **self.kwargs)
(nova.api.openstack): TRACE: File "/usr/lib/pymodules/python2.6/webob/dec.py", line 208, in call_func
(nova.api.openstack): TRACE: return self.func(req, *args, **kwargs)
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/nova/api/openstack/wsgi.py", line 798, in __call__
(nova.api.openstack): TRACE: content_type, body, accept)
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/nova/api/openstack/wsgi.py", line 846, in _process_stack
(nova.api.openstack): TRACE: action_result = self.dispatch(meth, request, action_args)
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/nova/api/openstack/wsgi.py", line 922, in dispatch
(nova.api.openstack): TRACE: return method(req=request, **action_args)
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/nova/api/openstack/compute/images.py", line 176, in index
(nova.api.openstack): TRACE: **page_params)
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/nova/image/glance.py", line 161, in index
(nova.api.openstack): TRACE: for image_meta in image_metas:
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/nova/image/glance.py", line 205, in _fetch_images
(nova.api.openstack): TRACE: images = fetch_func(**kwargs)
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/glance/client.py", line 76, in get_images_detailed
(nova.api.openstack): TRACE: res = self.do_request("GET", "/images/detail", params=params)
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/glance/common/client.py", line 58, in wrapped
(nova.api.openstack): TRACE: return func(self, *args, **kwargs)
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/glance/common/client.py", line 394, in do_request
(nova.api.openstack): TRACE: headers=headers)
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/glance/common/client.py", line 75, in wrapped
(nova.api.openstack): TRACE: return func(self, method, url, body, headers)
(nova.api.openstack): TRACE: File "/usr/lib/python2.6/dist-packages/glance/common/client.py", line 517, in _do_request
(nova.api.openstack): TRACE: raise exception.Invalid(res.read())
(nova.api.openstack): TRACE: Invalid: Data supplied was not valid.
(nova.api.openstack): TRACE: Details: 400 Bad Request
(nova.api.openstack): TRACE:
(nova.api.openstack): TRACE: Data supplied was not valid. Details: 400 Bad Request Invalid marker format
(nova.api.openstack): TRACE:
(nova.api.openstack): TRACE:
(nova.api.openstack): TRACE:

Changed in nova:
assignee: nobody → Mark Washenberger (markwash)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/4830

Changed in nova:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/4830
Committed: http://github.com/openstack/nova/commit/f56cef93ea6e3746a17152bcd1850ccf4b3dad3d
Submitter: Jenkins
Branch: master

commit f56cef93ea6e3746a17152bcd1850ccf4b3dad3d
Author: Mark Washenberger <email address hidden>
Date: Fri Mar 2 15:57:55 2012 -0500

    Better glance exception handling

    - Adds a conversion step that turns glance exceptions into nova
      exceptions
    - Converts Invalid to HTTPBadRequest in /images and /images/detail,
      fixing bug 944846
    - Makes stub glance client return glance exceptions instead of nova
      exceptions
    - Rebased off of http://review.openstack.org/4788 to pick up
      MissingCredentialError handling as well, and added a test
    - A few small, miscellaneous testing fixes for issues I noticed

    Change-Id: I88eebfe7a7ac21cc5cd84ad84d64b311ddccf91e

Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → essex-rc1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: essex-rc1 → 2012.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.