'ActionDeserializer' object has no attribute '_action_change_password'

Bug #1209072 reported by Ivan-Zhu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Ivan-Zhu

Bug Description

When I test reboot in xml format, nova has been broken.

the tempest log is the following:
tempest.common.rest_client: INFO: Request: GET http://192.168.1.101:8774/v3/servers/41a88f5d-68b5-4093-8325-c179b7b02ae7
tempest.common.rest_client: DEBUG: Request Headers: {'Content-Type': 'application/xml', 'Accept': 'application/xml', 'X-Auth-Token': '<Token omitted>'}
tempest.common.rest_client: INFO: Response Status: 404
tempest.common.rest_client: DEBUG: Response Headers: {'date': 'Wed, 07 Aug 2013 03:55:02 GMT', 'content-length': '137', 'content-type': 'application/xml; charset=UTF-8', 'x-compute-request-id': 'req-d1dfb79d-15ba-4d16-a7c3-1e56a6b05b33'}
tempest.common.rest_client: DEBUG: Response Body: <itemNotFound code="404" xmlns="http://docs.openstack.org/compute/api/v1.1"><message>Instance could not be found</message></itemNotFound>
tempest.common.rest_client: INFO: Request: POST http://192.168.1.101:8774/v3/servers/41a88f5d-68b5-4093-8325-c179b7b02ae7/action
tempest.common.rest_client: DEBUG: Request Headers: {'Content-Type': 'application/xml', 'Accept': 'application/xml', 'X-Auth-Token': '<Token omitted>'}
tempest.common.rest_client: DEBUG: Request Body: <?xml version="1.0" encoding="UTF-8"?>
<reboot xmlns="http://docs.openstack.org/compute/api/v1.1" type="SOFT"/>
tempest.common.rest_client: INFO: Response Status: 500
tempest.common.rest_client: DEBUG: Response Headers: {'date': 'Wed, 07 Aug 2013 03:55:02 GMT', 'content-length': '192', 'content-type': 'application/xml; charset=UTF-8', 'x-compute-request-id': 'req-e7aaf72b-636c-4bd7-b7da-4129d5f0c596'}
tempest.common.rest_client: DEBUG: Response Body: <computeFault code="500" xmlns="http://docs.openstack.org/compute/api/v1.1"><message>The server has either erred or is incapable of performing the requested operation.</message></computeFault>

the nova trace is:

2013-08-07 11:43:03.274 DEBUG nova.api.openstack.wsgi [req-0dec83be-e22e-4de6-a16d-612df92acfce ServersNegativeV3TestXML1959565404-user ServersNegativeV3TestXML1797780207-tenant] Action: 'action', body: <?xml version="1.0" encoding="UTF-8"?>
<reboot xmlns="http://docs.openstack.org/compute/api/v1.1" type="SOFT"/> from (pid=11467) _process_stack /opt/stack/nova/nova/api/openstack/wsgi.py:927
2013-08-07 11:43:03.274 DEBUG nova.api.openstack.wsgi [req-0dec83be-e22e-4de6-a16d-612df92acfce ServersNegativeV3TestXML1959565404-user ServersNegativeV3TestXML1797780207-tenant] Calling method <bound method ConfigDriveController._action_reboot of <nova.api.openstack.compute.plugins.v3.config_drive.ConfigDriveController object at 0x391a8d0>> from (pid=11467) _process_stack /opt/stack/nova/nova/api/openstack/wsgi.py:928
2013-08-07 11:43:03.274 ERROR nova.api.openstack [req-0dec83be-e22e-4de6-a16d-612df92acfce ServersNegativeV3TestXML1959565404-user ServersNegativeV3TestXML1797780207-tenant] Caught error: 'ActionDeserializer' object has no attribute '_action_change_password'
2013-08-07 11:43:03.274 TRACE nova.api.openstack Traceback (most recent call last):
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/__init__.py", line 111, in __call__
2013-08-07 11:43:03.274 TRACE nova.api.openstack return req.get_response(self.application)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
2013-08-07 11:43:03.274 TRACE nova.api.openstack application, catch_exc_info=False)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
2013-08-07 11:43:03.274 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-08-07 11:43:03.274 TRACE nova.api.openstack return resp(environ, start_response)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 461, in __call__
2013-08-07 11:43:03.274 TRACE nova.api.openstack return self.app(env, start_response)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-08-07 11:43:03.274 TRACE nova.api.openstack return resp(environ, start_response)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-08-07 11:43:03.274 TRACE nova.api.openstack return resp(environ, start_response)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
2013-08-07 11:43:03.274 TRACE nova.api.openstack response = self.app(environ, start_response)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-08-07 11:43:03.274 TRACE nova.api.openstack return resp(environ, start_response)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2013-08-07 11:43:03.274 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2013-08-07 11:43:03.274 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 904, in __call__
2013-08-07 11:43:03.274 TRACE nova.api.openstack content_type, body, accept)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 933, in _process_stack
2013-08-07 11:43:03.274 TRACE nova.api.openstack contents = self.deserialize(meth, content_type, body)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 823, in deserialize
2013-08-07 11:43:03.274 TRACE nova.api.openstack return deserializer(self.controller).deserialize(body)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 197, in deserialize
2013-08-07 11:43:03.274 TRACE nova.api.openstack return self.dispatch(datastring, action=action)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 187, in dispatch
2013-08-07 11:43:03.274 TRACE nova.api.openstack return action_method(*args, **kwargs)
2013-08-07 11:43:03.274 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/plugins/v3/servers.py", line 312, in default
2013-08-07 11:43:03.274 TRACE nova.api.openstack 'changePassword': self._action_change_password,
2013-08-07 11:43:03.274 TRACE nova.api.openstack AttributeError: 'ActionDeserializer' object has no attribute '_action_change_password'
2013-08-07 11:43:03.274 TRACE nova.api.openstack
2013-08-07 11:43:03.376 INFO nova.api.openstack [req-0dec83be-e22e-4de6-a16d-612df92acfce ServersNegativeV3TestXML1959565404-user ServersNegativeV3TestXML1797780207-tenant] http://192.168.1.101:8774/v3/servers/16ec50cf-8e38-487b-b58f-9ad9eade63f4/action returned with HTTP 500

Tags: api
Ivan-Zhu (ivan-zhu)
Changed in nova:
assignee: nobody → Ivan-Zhu (ivan-zhu)
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/40541

melanie witt (melwitt)
tags: added: api
Changed in nova:
status: New → Confirmed
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

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

commit f953e2062207c0b39e48d8d297eebc48f8d1b13d
Author: ivan-zhu <email address hidden>
Date: Wed Aug 7 12:12:37 2013 +0800

    remove _action_change_password the attribute in V3 server API

    There is no implementation of _action_change_password for the
    attribute of ActionDeserializer in V3 server API. Get rid of it

    fix bug 1209072

    Change-Id: I37019811caa71c491c228b99babfcfb34bbaa685

Tiantian Gao (gtt116)
Changed in nova:
status: Confirmed → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → havana-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: havana-3 → 2013.2
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.