Joseph J. VLcek created DTACLOUD-457:
----------------------------------------
Summary: RHEVm, Passing an invalid instance ID to start instance
results in traceback with 500.
Key: DTACLOUD-457
URL: https://issues.apache.org/jira/browse/DTACLOUD-457
Project: DeltaCloud
Issue Type: Bug
Environment: RHEVm3.1
Reporter: Joseph J. VLcek
Assignee: Joseph J. VLcek
When starting an instance on RHEVm and passing an invalid instance ID to
POST "start" generates the following traceback with 500.
Instead of 500 404 or 403 should be returned.
% curl -X POST --user "${CREDS}"
"http://localhost:3001/api/instances/${INSTANCE_ID}/start?format=xml"
<?xml version='1.0' encoding='utf-8' ?>
<error status='500'
url='/api/instances/INVALID INSTANCE ID/start'>
<kind>backend_error</kind>
<backend driver='rhevm'
provider='PROVIDER'>
<code>500</code>
</backend>
<message><![CDATA[undefined method `state' for nil:NilClass]]></message>
<backtrace><![CDATA[<REPO>/GIT/DELTACLOUD_OVIRT/deltacloud/server/lib/deltacloud/helpers/deltacloud_helper.rb:147:in
`instance_action'
<REPO>/GIT/DELTACLOUD_OVIRT/deltacloud/server/lib/deltacloud/collections/instances.rb:93:in
`block (3 levels) in <class:Instances>'
<LOCAL
GEMS>/.gem/ruby/1.9.1/gems/sinatra-rabbit-1.1.3/lib/sinatra/rabbit/base.rb:396:in
`instance_eval'
<LOCAL
GEMS>/.gem/ruby/1.9.1/gems/sinatra-rabbit-1.1.3/lib/sinatra/rabbit/base.rb:396:in
`block in control'
<LOCAL GEMS>/.gem/ruby/1.9.1/gems/sinatra-1.3.4/lib/sinatra/base.rb:1293:in
`call'
<LOCAL GEMS>/.gem/ruby/1.9.1/gems/sinatra-1.3.4/lib/sinatra/base.rb:1293:in
`block in compile!'
...
Comments from mfojtik: on IRC
I think the problem is here: original_instance = driver.instance(credentials,
:id => params[:id])
this call return 'nil' and that will make the instance_actions_for helper die
secondary bug is that we should report 404 in that case not 500
POST /api/instances/unknown-instance/start should return 404 or 403 (forbiden)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira