You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by "Oved Ourfali (JIRA)" <ji...@apache.org> on 2012/10/02 14:29:07 UTC

[jira] [Updated] (DTACLOUD-327) Using EC2 frontend with RHEV-M - problem with actions

     [ https://issues.apache.org/jira/browse/DTACLOUD-327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oved Ourfali updated DTACLOUD-327:
----------------------------------

    Attachment: 0001-EC2-Using-EC2-frontend-with-RHEV-M-problem-with-acti.patch

Patch to solve this issue (by the courtesy of mfojtik).
                
> 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
>         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