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

Joseph J. VLcek commented on DTACLOUD-462:
------------------------------------------

I've uncovered the problem and have discussed the fix with Michal Fojtik

Because rhev-m does not provide the nic attribute in the VM listing
we need to query each vm when getting status for a single VM.

This Jira is encountered when one of the instances in the list is
destroyed between the time the list of all VMs is generated and the
actually query.

The solution is to ignore "Entity not found:" error in http_get
by using a begin/rescue and skipping the instance that fails
to fetch.

A longer term solution will be to request rhev-m to fix the
'expand nic' attbibute. This would speed up the listing of VM's
and also fix this bug

                
> RHEVM calling GET /api/instances/instance_id after the instance is stopped, 
> errors out
> --------------------------------------------------------------------------------------
>
>                 Key: DTACLOUD-462
>                 URL: https://issues.apache.org/jira/browse/DTACLOUD-462
>             Project: DeltaCloud
>          Issue Type: Bug
>          Components: Native/Frontend
>         Environment: Deltacloud 1.1.0
> RHEVM 3.1 
>            Reporter: Ronelle Landy
>            Assignee: Joseph J. VLcek
>
> Copied below are pieces of a chat conversation and a stack trace - reporting 
> an error on rhvem 3.1. The error occurs when an instance is stopped and then 
> Deltacloud issues a GET on that instance. This is something that comes up in 
> the cleanup scripts as well - because we stop and delete multiple instances, 
> one after another.
> The problem may lie on RHEVM's side and I suspect it does, but reporting it 
> here to start...
> <jweiss> ... I called stop on the instance, did a get on it a few seconds 
> later to see if it had stopped (no, was in STOPPING), checked again 10 sec 
> later (still STOPPING), then checked again and got the stacktrace in the 
> paste.
> <rlandy> jweiss: ok, so when you checked the last time,  'entity not found' 
> (should only happen if you attempt to delete, not stop)
> <jweiss> rlandy: yeah, definitely had not called delete on it.  
> <jweiss> just making sure that the line above the stacktrace (which was a 
> delete) was for a different request.  
> <jweiss> rlandy: the instance is still there in STOPPED state so clearly a 
> bug 
> http://dc-cloudqe-rhevm.usersys.redhat.com:3005/api/instances/4064ba7a-4a38-428a-8315-b23e46cac92a
>     10.16.120.240 - - [07/Feb/2013 12:26:53] "GET 
> /api//instances/85bdb4e6-4b03-4bae-ab33-bf5f972ef0da HTTP/1.1" 200 1109 5.6474
>     10.16.120.240 - - [07/Feb/2013 12:26:55] "GET 
> /api/instances/4064ba7a-4a38-428a-8315-b23e46cac92a HTTP/1.1" 200 1110 4.7167
>     10.16.120.240 - - [07/Feb/2013 12:27:08] "GET 
> /api//instances/85bdb4e6-4b03-4bae-ab33-bf5f972ef0da HTTP/1.1" 200 1212 4.5133
>     10.16.120.240 - - [07/Feb/2013 12:27:11] "GET 
> /api//instances/4064ba7a-4a38-428a-8315-b23e46cac92a HTTP/1.1" 200 1110 5.9147
>     10.16.120.240 - - [07/Feb/2013 12:27:14] "DELETE 
> /api/instances/85bdb4e6-4b03-4bae-ab33-bf5f972ef0da HTTP/1.1" 204 - 6.2742
>     E, [2013-02-07T12:27:23.229863 #12207] ERROR -- 500: 
> [Deltacloud::Exceptions::BackendError] Entity not found: id
>      
>     /usr/lib/ruby/gems/1.8/gems/rbovirt-0.0.16/lib/rbovirt.rb:146:in 
> `handle_fault'
>     /usr/lib/ruby/gems/1.8/gems/rbovirt-0.0.16/lib/rbovirt.rb:81:in `http_get'
>     /usr/lib/ruby/gems/1.8/gems/rbovirt-0.0.16/lib/client/vm_api.rb:39:in 
> `vm_interfaces'
>     /usr/lib/ruby/gems/1.8/gems/rbovirt-0.0.16/lib/ovirt/vm.rb:31:in 
> `interfaces'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:251:in
>  `convert_instance'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:135:in
>  `instances'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:134:in
>  `each'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:134:in
>  `instances'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/drivers/exceptions.rb:220:in
>  `call'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/drivers/exceptions.rb:220:in
>  `safely'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:128:in
>  `instances'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/drivers/base_driver.rb:227:in
>  `instance'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/helpers/deltacloud_helper.rb:85:in
>  `send'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/helpers/deltacloud_helper.rb:85:in
>  `show'
>     /usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/helpers/deltacloud_helper.rb:84:in
>  `show'
>     
> /usr/lib/ruby/gems/1.8/gems/deltacloud-core-1.1.0/lib/deltacloud/helpers/rabbit_helper.rb:29:in
>  `standard_show_operation'
>     
> /usr/lib/ruby/gems/1.8/gems/sinatra-rabbit-1.1.3/lib/sinatra/rabbit/base.rb:396:in
>  `instance_eval'
>     
> /usr/lib/ruby/gems/1.8/gems/sinatra-rabbit-1.1.3/lib/sinatra/rabbit/base.rb:396:in
>  `GET /instances/:id'
>     /usr/lib/ruby/gems/1.8/gems/sinatra-1.3.4/lib/sinatra/base.rb:1292:in 
> `call'
>     /usr/lib/ruby/gems/1.8/gems/sinatra-1.3.4/lib/sinatra/base.rb:1292:in 
> `compile!' 

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