Uploaded image for project: 'DeltaCloud'
  1. DeltaCloud
  2. DTACLOUD-355

Deltacloud does not handle paused instances in RHEVM

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Native/Frontend
    • None
    • RHEVM 3.0
      Deltacloud 1.0.4

    Description

      If a RHEVM provider is shutdown, while instances are running, and is later restarted, the instances are put in a 'paused' state after start up. Executing GET -X /api/instances against a RHEVM provider with instances in a paused state errors out (with a rather long stack trace - some of whcih is copied below):

      "GET /api/instances?format=xml HTTP/1.1" 500 67601 0.0560
      E, 2012-10-30T09:48:03.537891 #6625 ERROR – : [NO HANDLED] RuntimeError: Unexpected state 'PAUSED
      EIO'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:289:in `convert_state'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:230:in `convert_instance'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:137:in `block (2 levels) in instances'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:136:in `each'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:136:in `block in instances'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/exceptions.rb:199:in `call'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/exceptions.rb:199:in `safely'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:130:in `instances'
      /usr/share/deltacloud-core/lib/deltacloud/helpers/deltacloud_helper.rb:37:in `block in filter_all'
      /usr/share/ruby/benchmark.rb:280:in `measure'
      /usr/share/deltacloud-core/lib/deltacloud/helpers/deltacloud_helper.rb:37:in `filter_all'
      /usr/share/deltacloud-core/lib/deltacloud/helpers/rabbit_helper.rb:22:in `block (2 levels) in standard_index_operation'
      /usr/local/share/gems/gems/sinatra-rabbit-1.1.2/lib/sinatra/rabbit/base.rb:394:in `instance_eval'
      /usr/local/share/gems/gems/sinatra-rabbit-1.1.2/lib/sinatra/rabbit/base.rb:394:in `block in control'
      /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'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:816:in `forward'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:885:in `route_missing'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:846:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842: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'
      /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/showexceptions.rb:21:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in `call'
      /usr/share/deltacloud-core/lib/sinatra/rack_accept.rb:160: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/showexceptions.rb:21:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in `call'
      /usr/local/share/gems/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22: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/rack-1.4.1/lib/rack/methodoverride.rb:21: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:816:in `forward'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:885:in `route_missing'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:846:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842: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'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:816:in `forward'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:885:in `route_missing'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:846:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842: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'
      /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/showexceptions.rb:21:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in `call'
      /usr/share/deltacloud-core/lib/sinatra/rack_accept.rb:160: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/showexceptions.rb:21:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in `call'
      /usr/local/share/gems/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22: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/rack-1.4.1/lib/rack/methodoverride.rb:21: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:816:in `forward'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:885:in `route_missing'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:846:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842: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'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:816:in `forward'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:885:in `route_missing'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:846:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:936:in `dispatch!'

      ...........

      Attachments

        Activity

          People

            mfojtik Michal Fojtik
            rlandy Ronelle Landy
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: