unable to serve qos specs list result in xml

Bug #1229619 reported by Huang Zhiteng on 2013-09-24
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Low
Huang Zhiteng

Bug Description

There's something wrong with the XML serializer for qos specs extension.

2013-09-24 02:08:10.973 DEBUG cinder.api.openstack.wsgi [req-756c5a46-e8b6-4352-ae8a-f998cb5eda52 1efeaf806e14413eb4001585049811a7 23ab2751bd3a4dd3b1e50826548814bf] Unrecognized Content-Type provided in request from (pid=2336) get_body /opt/stack/cinder/cinder/api/openstack/wsgi.py:718
2013-09-24 02:08:10.979 ERROR cinder.api.middleware.fault [req-756c5a46-e8b6-4352-ae8a-f998cb5eda52 1efeaf806e14413eb4001585049811a7 23ab2751bd3a4dd3b1e50826548814bf] Caught error: root element selecting a list
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault Traceback (most recent call last):
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/middleware/fault.py", line 73, in __call__
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault return req.get_response(self.application)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault application, catch_exc_info=False)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault app_iter = application(self.environ, start_response)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault return resp(environ, start_response)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/keystoneclient/middleware/auth_token.py", line 461, in __call__
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault return self.app(env, start_response)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault return resp(environ, start_response)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault return resp(environ, start_response)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault response = self.app(environ, start_response)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault return resp(environ, start_response)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault resp = self.call_func(req, *args, **self.kwargs)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault return self.func(req, *args, **kwargs)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/openstack/wsgi.py", line 824, in __call__
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault content_type, body, accept)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/openstack/wsgi.py", line 903, in _process_stack
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault self.default_serializers)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/openstack/wsgi.py", line 536, in serialize
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault response.body = serializer.serialize(self.obj)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/xmlutil.py", line 636, in serialize
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault elem = self.make_tree(obj)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/xmlutil.py", line 664, in make_tree
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault return self._serialize(None, obj, siblings, nsmap)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/xmlutil.py", line 600, in _serialize
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault elems = siblings[0].render(parent, obj, siblings[1:], nsmap)
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/xmlutil.py", line 465, in render
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault raise ValueError(_('root element selecting a list'))
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault ValueError: root element selecting a list
2013-09-24 02:08:10.979 TRACE cinder.api.middleware.fault
2013-09-24 02:08:10.994 INFO cinder.api.middleware.fault [req-756c5a46-e8b6-4352-ae8a-f998cb5eda52 1efeaf806e14413eb4001585049811a7 23ab2751bd3a4dd3b1e50826548814bf] http://172.16.240.128:8776/v2/23ab2751bd3a4dd3b1e50826548814bf/qos-specs returned with HTTP 500

Changed in cinder:
assignee: nobody → Huang Zhiteng (zhiteng-huang)
status: New → Confirmed
importance: Undecided → Low

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

Changed in cinder:
status: Confirmed → In Progress
Changed in cinder:
assignee: Huang Zhiteng (zhiteng-huang) → Mike Perez (thingee)
Changed in cinder:
assignee: Mike Perez (thingee) → Huang Zhiteng (zhiteng-huang)

Reviewed: https://review.openstack.org/48203
Committed: http://github.com/openstack/cinder/commit/fe1d9db358c1da4ff041eedaff76f282f28a8670
Submitter: Jenkins
Branch: master

commit fe1d9db358c1da4ff041eedaff76f282f28a8670
Author: Zhiteng Huang <email address hidden>
Date: Wed Sep 25 16:40:41 2013 +0800

    Fix XML serializer for QoS Specs extension

    This patch fixes XML serializer for QoS Specs exension calls like
    list(), show(), associations(). Note that using XML as input for
    create(), update() doesn't support yet.

    Closes-Bug: # 1229619

    Change-Id: I2eab9d69e05bb03269b51731458994d6268ac852

Changed in cinder:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2013-10-04
Changed in cinder:
milestone: none → havana-rc1
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2013-10-17
Changed in cinder:
milestone: havana-rc1 → 2013.2
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers