[ 
https://issues.apache.org/jira/browse/DTACLOUD-327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13467652#comment-13467652
 ] 

Michal Fojtik commented on DTACLOUD-327:
----------------------------------------

commit 8086f41492b4e1163c6f90668a6d878700be7ec5
Author: Oved Ourfali <[email protected]>
Date:   Tue Oct 2 14:24:00 2012 +0200

    EC2: Using EC2 frontend with RHEV-M - problem with actions (DTACLOUD-327)
                
> Using EC2 frontend with RHEV-M - problem with actions
> -----------------------------------------------------
>
>                 Key: DTACLOUD-327
>                 URL: https://issues.apache.org/jira/browse/DTACLOUD-327
>             Project: DeltaCloud
>          Issue Type: Bug
>          Components: EC2/Frontend, Server
>         Environment: Fedora 17, Deltacloud 1.0.3
>            Reporter: Oved Ourfali
>            Assignee: Michal Fojtik
>         Attachments: 
> 0001-EC2-Using-EC2-frontend-with-RHEV-M-problem-with-acti.patch
>
>
> When performing actions with RHEV-M driver, and EC2 frontend, oVirt returns 
> only a status object, and not the original resource, or link to get the 
> updated resource.
> Thus, in the EC2 frontend, an error 500 is returned, as no ID is found in the 
> oVirt returned object, which causes a failure.
> Several solutions may apply here (until a more suitable resource is returned 
> by oVirt):
> 1. Returning the original resource.
> 2. Returning a new response object, with the status returned by oVirt, and in 
> addition the link to the resource we did the action on.
> Stack trace:
> 127.0.0.1 - - [24/Sep/2012 14:06:37] "GET 
> /ec2/?Action=StartInstances&InstanceId.1=f7519f1b-ecf7-4f32-adb8-3dacfc7c1a59 
> HTTP/1.1" 500 30 0.3564
> NoMethodError - undefined method `id' for nil:NilClass:
>       
> /autohome/oourfali/git/deltacloud/server/lib/ec2/views/instance_action.haml:3:in
>  `block in render'
>       /usr/local/share/gems/gems/haml-3.1.7/lib/haml/engine.rb:191:in `eval'
>       /usr/local/share/gems/gems/haml-3.1.7/lib/haml/engine.rb:191:in `render'
>       /autohome/oourfali/git/deltacloud/server/lib/ec2/query_parser.rb:101:in 
> `render'
>       
> /autohome/oourfali/git/deltacloud/server/lib/ec2/views/stop_instances.haml:1:in
>  `block in render'
>       /usr/local/share/gems/gems/haml-3.1.7/lib/haml/engine.rb:191:in `eval'
>       /usr/local/share/gems/gems/haml-3.1.7/lib/haml/engine.rb:191:in `render'
>       /autohome/oourfali/git/deltacloud/server/lib/ec2/query_parser.rb:101:in 
> `render'
>       layout:3:in `block in render'
>       /usr/local/share/gems/gems/haml-3.1.7/lib/haml/engine.rb:191:in `eval'
>       /usr/local/share/gems/gems/haml-3.1.7/lib/haml/engine.rb:191:in `render'
>       /autohome/oourfali/git/deltacloud/server/lib/ec2/query_parser.rb:86:in 
> `parse'
>       /autohome/oourfali/git/deltacloud/server/lib/ec2/query_parser.rb:68:in 
> `to_xml'
>       /autohome/oourfali/git/deltacloud/server/lib/ec2/server.rb:68:in `block 
> in <class:API>'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:1265:in 
> `call'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:1265:in 
> `block in compile!'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in `[]'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in 
> `block (3 levels) in route!'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:851:in 
> `route_eval'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in 
> `block (2 levels) in route!'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:872:in 
> `block in process_route'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:870:in 
> `catch'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:870:in 
> `process_route'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:834:in 
> `block in route!'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:833:in 
> `each'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:833:in 
> `route!'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:936:in 
> `dispatch!'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in 
> `block in call!'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in 
> `block in invoke'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in 
> `catch'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in 
> `invoke'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in 
> `call!'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:755:in 
> `call'
>       
> /autohome/oourfali/git/deltacloud/server/lib/sinatra/rack_logger.rb:71:in 
> `call'
>       /autohome/oourfali/git/deltacloud/server/lib/sinatra/rack_etag.rb:41:in 
> `call'
>       
> /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in
>  `call'
>       
> /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/path_traversal.rb:16:in
>  `call'
>       
> /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/json_csrf.rb:17:in
>  `call'
>       
> /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/base.rb:47:in
>  `call'
>       
> /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in
>  `call'
>       /usr/local/share/gems/gems/rack-1.4.1/lib/rack/nulllogger.rb:9:in `call'
>       /usr/local/share/gems/gems/rack-1.4.1/lib/rack/head.rb:9:in `call'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in 
> `call'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:1389:in 
> `block in call'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:1471:in 
> `synchronize'
>       /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:1389:in 
> `call'
>       /usr/local/share/gems/gems/rack-1.4.1/lib/rack/urlmap.rb:64:in `block 
> in call'
>       /usr/local/share/gems/gems/rack-1.4.1/lib/rack/urlmap.rb:49:in `each'
>       /usr/local/share/gems/gems/rack-1.4.1/lib/rack/urlmap.rb:49:in `call'
>       
> /autohome/oourfali/git/deltacloud/server/lib/sinatra/rack_matrix_params.rb:104:in
>  `call'
>       /usr/local/share/gems/gems/rack-1.4.1/lib/rack/builder.rb:134:in `call'
>       /usr/local/share/gems/gems/thin-1.4.1/lib/thin/connection.rb:80:in 
> `block in pre_process'
>       /usr/local/share/gems/gems/thin-1.4.1/lib/thin/connection.rb:78:in 
> `catch'
>       /usr/local/share/gems/gems/thin-1.4.1/lib/thin/connection.rb:78:in 
> `pre_process'
>       
> /usr/local/share/gems/gems/eventmachine-0.12.10/lib/eventmachine.rb:1060:in 
> `call'
>       
> /usr/local/share/gems/gems/eventmachine-0.12.10/lib/eventmachine.rb:1060:in 
> `block in spawn_threadpool'
> 127.0.0.1 - - [24/Sep/2012 14:07:10] "GET 
> /ec2/?Action=StopInstances&InstanceId.1=f7519f1b-ecf7-4f32-adb8-3dacfc7c1a59 
> HTTP/1.1" 500 30 5.6231

--
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

Reply via email to