OpenStack Compute (Nova)

list images invalid marker throws 500 error

Reported by Mark Washenberger on 2012-03-02
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
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)

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

Changed in nova:
status: New → In Progress

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) on 2012-03-20
Changed in nova:
milestone: none → essex-rc1
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2012-04-05
Changed in nova:
milestone: essex-rc1 → 2012.1
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers