[
https://issues.apache.org/jira/browse/DTACLOUD-457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ronelle Landy closed DTACLOUD-457.
----------------------------------
Resolution: Fixed
Closing this JIRA as fixed in Deltacloud commit version:
98cfca63b52a63f73442522c8d30b18bdcd566fc
<error status='403'
url='/api/instances/7107f01f-2a1d-4096-9611-0d8de2582809/start'>
<backend driver='rhevm'
provider='https://cloudqe-test-rhevm.rhq.lab.eng.bos.redhat.com/api;b9bb11c2-f397-4f41-a57b-7ac15a894779'></backend>
<request>
<param name='splat'></param>
<param name='captures'>7107f01f-2a1d-4096-9611-0d8de2582809</param>
<param name='id'>7107f01f-2a1d-4096-9611-0d8de2582809</param>
<param name='format'>xml</param>
</request>
<message>Method not allowed for this resource</message>
</error>
> 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
> Attachments:
> 0001-DTACLOUD-457-RHEVm-Passing-an-invalid-instance-ID-to.patch
>
>
> 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