Requesting application/xml on return for extensions returns cloudServersFault 500
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Kevin L. Mitchell |
Bug Description
When I try to get responses in XML from extensions (specifically os_keypairs) I get an error.
curl -D - -H "X-Auth-Token: 999888777666" -H "Accept: application/xml" -G http://
HTTP/1.1 500 Internal Server Error
Content-Length: 153
Content-Type: application/xml; charset=UTF-8
Date: Fri, 16 Sep 2011 19:31:53 GMT
<cloudServersFault code="500" xmlns="http://
<message>
</message>
</cloudServersF
also tried it with os_keypairs.xml with the same results.
Doing the same thing on /servers/ works.
curl -v 'http://
* About to connect() to dev2.rcb.me port 8774 (#0)
* Trying 50.56.12.212... connected
* Connected to dev2.rcb.me (50.56.12.212) port 8774 (#0)
> GET /v1.1/admin/servers HTTP/1.1
> User-Agent: curl/7.19.7 (universal-
> Host: dev2.rcb.me:8774
> X-Auth-Token: 999888777666
> Accept: application/xml
>
< HTTP/1.1 200 OK
< Content-Type: application/xml
< Content-Length: 1425
< Date: Fri, 16 Sep 2011 19:34:55 GMT
<
<servers xmlns="http://
<server id="47" name="dt-qcow2">
<atom:link href="http://
<atom:link href="http://
</server>
<server id="46" name="dt-vmdk">
<atom:link href="http://
<atom:link href="http://
</server>
<server id="42" name="jakedevst
<atom:link href="http://
<atom:link href="http://
</server>
<server id="41" name="test">
<atom:link href="http://
<atom:link href="http://
</server>
<server id="40" name="somkinda">
<atom:link href="http://
<atom:link href="http://
</server>
<server id="39" name="x">
<atom:link href="http://
<atom:link href="http://
</server>
</servers>
* Connection #0 to host dev2.rcb.me left intact
* Closing connection #0
description: | updated |
Changed in nova: | |
importance: | Undecided → Medium |
status: | New → Confirmed |
tags: | added: osapi |
Changed in nova: | |
milestone: | none → essex-2 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | essex-2 → 2012.1 |
For reference, I can confirm that this is still an issue. Here's the stack trace:
2011-11-21 23:54:41,344 ERROR nova.api. openstack. v2 [48dce693- 00f1-4b78- 9e86-4b05fec1af 77 3 admin] Caught error: 'extensions' openstack. v2): TRACE: Traceback (most recent call last): openstack. v2): TRACE: File "/home/ klmitch/ devel/src/ nova/nova/ api/openstack/ v2/__init_ _.py", line 61, in __call__ openstack. v2): TRACE: return req.get_ response( self.applicatio n) openstack. v2): TRACE: File "/usr/lib/ pymodules/ python2. 6/webob/ request. py", line 1053, in get_response openstack. v2): TRACE: application, catch_exc_ info=False) openstack. v2): TRACE: File "/usr/lib/ pymodules/ python2. 6/webob/ request. py", line 1022, in call_application openstack. v2): TRACE: app_iter = application( self.environ, start_response) openstack. v2): TRACE: File "/usr/local/ lib/python2. 6/dist- packages/ keystone- 2012.1- py2.6.egg/ keystone/ middleware/ auth_token. py", line 267, in __call__ openstack. v2): TRACE: return self._forward_ request( env, start_response, proxy_headers) openstack. v2): TRACE: File "/usr/local/ lib/python2. 6/dist- packages/ keystone- 2012.1- py2.6.egg/ keystone/ middleware/ auth_token. py", line 361, in _forward_request openstack. v2): TRACE: return self.app(env, start_response) openstack. v2): TRACE: File "/usr/lib/ pymodules/ python2. 6/webob/ dec.py" , line 159, in __call__ openstack. v2): TRACE: return resp(environ, start_response) openstack. v2): TRACE: File "/usr/lib/ pymodules/ python2. 6/webob/ dec.py" , line 159, in __call__ openstack. v2): TRACE: return resp(environ, start_response) openstack. v2): TRACE: File "/usr/lib/ pymodules/ python2. 6/webob/ dec.py" , line 147, in __call__ openstack. v2): TRACE: resp = self.call_func(req, *args, **self.kwargs) openstack. v2): TRACE: File "/usr/lib/ pymodules/ python2. 6/webob/ dec.py" , line 208, in call_func openstack. v2): TRACE: return self.func(req, *args, **kwargs) openstack. v2): TRACE: File "/home/ klmitch/ devel/src/ nova/nova/ api/openstack/ wsgi.py" , line 513, in __call__ openstack. v2): TRACE: **kwargs) openstack. v2): TRACE: File "/home/ klmitch/ devel/src/ nova/nova/ api/openstack/ wsgi.py" , line 310, in serialize openstack. v2): TRACE: return self.dispatch(data, action=action) openstack. v2): TRACE: File "/home/ klmitch/ devel/src/ nova/nova/ api/openstack/ wsgi.py" , line 101, in dispatch openstack. v2): TRACE: return action_ method( *args, **kwargs) openstack. v2): TRACE: File "/home/ klmitch/ devel/src/ nova/nova/ api/openstack/ v2/extensions. py", line 506, in index openstack. v2): TRACE: for ext_dict in exts_dict[ 'extensions' ]: openstack. v2): TRACE: KeyError: 'extensions'
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.
(nova.api.