OpenStack Compute (Nova)

EC2 TerminateInstances api call hangs and returns 500 when given bad data

Reported by Scott Moser on 2012-03-26
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Low
Chuck Short

Bug Description

$ euca-describe-instances i-00001c76
RESERVATION r-9qyg1vm0 smoser_project default
INSTANCE i-00001c76 ami-00000091 server-7286 server-7286 runningmykey 0 m1.small 2012-03-23T18:56:12Z nova monitoring-disabled 10.55.60.6 10.55.60.6 instance-store

$ euca-terminate-instances 10.55.60.6
500: The server has either erred or is incapable of performing the requested operation.

$ euca-terminate-instances bogus
500: The server has either erred or is incapable of performing the requested operation.

On EC2, you'd see something like this:
$ euca-terminate-instances bogus
InvalidInstanceID.Malformed: Invalid id: "bogus (expecting "i-...")

This is running against nova essex 2012.1~rc1~20120309.13261-0ubuntu1

Scott Moser (smoser) on 2012-03-26
tags: added: canonistack
summary: EC2 TerminateInstances api call hangs and returns 500 when given bad
- data (ip address)
+ data
Chuck Short (zulcss) wrote :

2012-03-26 09:39:29 ERROR nova.api.ec2 [req-4eb7480b-c751-4dcb-913b-e8198fb4ce7c 291118376dc84586bfd94065ed781ccf d500fc3c52df4f93a50f8c7804b8521a] FaultWrapper: 'Executor' object has no attribute '_error'
(nova.api.ec2): TRACE: Traceback (most recent call last):
(nova.api.ec2): TRACE: File "/opt/stack/nova/nova/api/ec2/__init__.py", line 93, in __call__
(nova.api.ec2): TRACE: return req.get_response(self.application)
(nova.api.ec2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1086, in get_response
(nova.api.ec2): TRACE: application, catch_exc_info=False)
(nova.api.ec2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1055, in call_application
(nova.api.ec2): TRACE: app_iter = application(self.environ, start_response)
(nova.api.ec2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__
(nova.api.ec2): TRACE: resp = self.call_func(req, *args, **self.kwargs)
(nova.api.ec2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in call_func
(nova.api.ec2): TRACE: return self.func(req, *args, **kwargs)
(nova.api.ec2): TRACE: File "/opt/stack/nova/nova/api/ec2/__init__.py", line 105, in __call__
(nova.api.ec2): TRACE: rv = req.get_response(self.application)
(nova.api.ec2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1086, in get_response
(nova.api.ec2): TRACE: application, catch_exc_info=False)
(nova.api.ec2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1055, in call_application
(nova.api.ec2): TRACE: app_iter = application(self.environ, start_response)
(nova.api.ec2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__
(nova.api.ec2): TRACE: return resp(environ, start_response)
(nova.api.ec2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__
(nova.api.ec2): TRACE: return resp(environ, start_response)
(nova.api.ec2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__
(nova.api.ec2): TRACE: return resp(environ, start_response)
(nova.api.ec2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__
(nova.api.ec2): TRACE: resp = self.call_func(req, *args, **self.kwargs)
(nova.api.ec2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in call_func
(nova.api.ec2): TRACE: return self.func(req, *args, **kwargs)
(nova.api.ec2): TRACE: File "/opt/stack/nova/nova/api/ec2/__init__.py", line 640, in __call__
(nova.api.ec2): TRACE: return self._error(req, context, "InvalidInstanceID.Malformed",
(nova.api.ec2): TRACE: AttributeError: 'Executor' object has no attribute '_error'

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

Changed in nova:
assignee: nobody → Chuck Short (zulcss)
status: New → In Progress
Scott Moser (smoser) on 2012-03-26
description: updated
Thierry Carrez (ttx) on 2012-03-28
tags: added: essex-rc-potential
Thierry Carrez (ttx) on 2012-03-29
Changed in nova:
importance: Undecided → Low

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

commit b207ba3ed30a4750eec60a44e4dba66c59491e7b
Author: Chuck Short <email address hidden>
Date: Mon Mar 26 09:41:10 2012 -0400

    Fix traceback when sending invalid data.

    Running euca-terminate-instance with invalid data results
    in a traceback and a hang. This fixes bug 965225

    Change-Id: I0b547d527bca5fb86ff650188ac903066361d933

Changed in nova:
status: In Progress → Fix Committed

Reviewed: https://review.openstack.org/6035
Committed: http://github.com/openstack/nova/commit/d3413fec3b01ae24e2395de1d5556f72407cf108
Submitter: Jenkins
Branch: milestone-proposed

commit d3413fec3b01ae24e2395de1d5556f72407cf108
Author: Chuck Short <email address hidden>
Date: Mon Mar 26 09:41:10 2012 -0400

    Fix traceback when sending invalid data.

    Running euca-terminate-instance with invalid data results
    in a traceback and a hang. This fixes bug 965225

    Change-Id: I0b547d527bca5fb86ff650188ac903066361d933

Changed in nova:
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2012-04-05
Changed in nova:
milestone: none → 2012.1
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers