deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ronelle Landy (JIRA)" <>
Subject [jira] [Commented] (DTACLOUD-452) RHEVM instances in RUNNING state show create_image actions - but creating an image from a running instance throws a 500 error
Date Tue, 05 Feb 2013 13:37:14 GMT


Ronelle Landy commented on DTACLOUD-452:

Thanks for the comments above, Dies.
So I saw your additions to check that the instance was running (within the snapshotting section)
but forgot about the changes to actually start the instance, added way above that :

+      res = get(INSTANCES+"/"+@@my_instance_id)
+      attempts += 1
+      state = (res.xml/'instance/state').text
+      if state == "STOPPED"
+        start_res = post(INSTANCES+"/"+@@my_instance_id+"/start", "")

This essential difference is that RHEVM instances are created in a stopped state - which was
the state need to test the 'create_image' functionality. Noting now that the test starts all
instances, need to reconsider this test case.  The bug reported here not withstanding, it
may be better to:

 - if no 'create_image'  action was found on the instance in a running state
 - stop the instance and then check for the create_image action

As things stand, we loose test coverage by skipping the test point for all providers where
the action is available for stopped instances
> RHEVM instances in RUNNING state show create_image actions - but creating an image from
a running instance throws  a 500 error
> ------------------------------------------------------------------------------------------------------------------------------
>                 Key: DTACLOUD-452
>                 URL:
>             Project: DeltaCloud
>          Issue Type: Bug
>          Components: Native/Frontend
>         Environment: Deltacloud commit version: 152247911e61041e35202ffdd22b2c160a390008
> RHEVM 3.1
>            Reporter: Ronelle Landy
> Found by running the white box tests ....
> Below is one instance returned from executing a GET /api/instances - provider is RHEVM
3.1. Notice that the create_image operation is returned even though the instance is in a RUNNING
> However, is you try create an image from a running instance in RHEVM. you get a 500 error
(ERROR -- 500: [Deltacloud::Exceptions::BackendError] Cannot add Template. VM still running,
stop the VM and try again.) Full trace copied at the end of this description.
> deltacloud/tests/deltacloud/instance_test.rb checks if the create_image op is returned
and if so, attempts to create an image. In this case, where the VM is RUNNING, the test errors
out. Since we have seen this test run cleanly in the past, I'm sort of curious what's going
on here.....
>   <instance href='http://localhost:3001/api/instances/7d6d27a2-68be-4598-9c79-48e656d2d4f1'
>     <name>rhel-x86-64-5Server-Private-rhel-x86-64-5Server</name>
>     <owner_id>admin@internal</owner_id>
>     <image href='http://localhost:3001/api/images/acac1fbc-fa50-47a6-8886-f61a118fd420'
>     <realm href='http://localhost:3001/api/realms/b91b0346-4ba3-11e2-a3ac-0050568c6b2d'
>     <state>RUNNING</state>
>     <hardware_profile href='http://localhost:3001/api/hardware_profiles/SERVER' id='SERVER'>
>       <property kind='fixed' name='memory' unit='MB' value='512'></property>
>       <property kind='fixed' name='storage' unit='GB' value='1'></property>
>       <property kind='fixed' name='cpu' unit='count' value='1'></property>
>     </hardware_profile>
>     <actions>
>       <link href='http://localhost:3001/api/instances/7d6d27a2-68be-4598-9c79-48e656d2d4f1/stop'
method='post' rel='stop' />
>       <link href='http://localhost:3001/api/images;instance_id=7d6d27a2-68be-4598-9c79-48e656d2d4f1'
method='post' rel='create_image' />
>     </actions>
>     <launch_time>2013-02-04T15:12:36.456-05:00</launch_time>
>     <public_addresses><address type='ipv4'></address>
>   <address type='mac'>00:1a:4a:10:56:86</address>
>   <address port='5910' type='vnc'></address></public_addresses>
>     <private_addresses></private_addresses>
>     <storage_volumes></storage_volumes>
>   </instance>
> ************************
> E, [2013-02-04T16:42:56.418373 #19024] ERROR -- 500: [Deltacloud::Exceptions::BackendError]
Cannot add Template. VM still running, stop the VM and try again.
> /usr/local/share/gems/gems/rbovirt-0.0.16/lib/rbovirt.rb:146:in `handle_fault'
> /usr/local/share/gems/gems/rbovirt-0.0.16/lib/rbovirt.rb:89:in `rescue in http_post'
> /usr/local/share/gems/gems/rbovirt-0.0.16/lib/rbovirt.rb:86:in `http_post'
> /usr/local/share/gems/gems/rbovirt-0.0.16/lib/client/template_api.rb:18:in `create_template'
> /home/dcloud/workspace/deltacloud/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:112:in
`block in create_image'
> /home/dcloud/workspace/deltacloud/server/lib/deltacloud/drivers/exceptions.rb:220:in
> /home/dcloud/workspace/deltacloud/server/lib/deltacloud/drivers/exceptions.rb:220:in
> /home/dcloud/workspace/deltacloud/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:111:in
> /home/dcloud/workspace/deltacloud/server/lib/deltacloud/collections/images.rb:44:in `block
(3 levels) in <class:Images>'
> /usr/local/share/gems/gems/sinatra-rabbit-1.1.3/lib/sinatra/rabbit/base.rb:396:in `instance_eval'
> /usr/local/share/gems/gems/sinatra-rabbit-1.1.3/lib/sinatra/rabbit/base.rb:396:in `block
in control'
> /usr/local/share/gems/gems/sinatra-1.3.4/lib/sinatra/base.rb:1293:in `call'
> /usr/local/share/gems/gems/sinatra-1.3.4/lib/sinatra/base.rb:1293:in `block in compile!'
> /usr/local/share/gems/gems/sinatra-1.3.4/lib/sinatra/base.rb:860:in `[]'
> /usr/local/share/gems/gems/sinatra-1.3.4/lib/sinatra/base.rb:860:in `block (3 levels)
in route!'
> /usr/local/share/gems/gems/sinatra-1.3.4/lib/sinatra/base.rb:876:in `route_eval'
> /usr/local/share/gems/gems/sinatra-1.3.4/lib/sinatra/base.rb:860:in `block (2 levels)
in route!'
> /usr/local/share/gems/gems/sinatra-1.3.4/lib/sinatra/base.rb:897:in `block in process_route'
> /usr/local/share/gems/gems/sinatra-1.3.4/lib/sinatra/base.rb:895:in `catch'
> /usr/local/share/gems/gems/sinatra-1.3.4/lib/sinatra/base.rb:895:in `process_route'
> /usr/local/share/gems/gems/sinatra-1.3.4/lib/sinatra/base.rb:859:in `block in route!'
> - - [04/Feb/2013 16:42:56] "POST /api/images HTTP/1.1" 500 32625 0.8791
> *************************

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:

View raw message