[ https://issues.apache.org/jira/browse/DTACLOUD-452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13571292#comment-13571292 ]
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: https://issues.apache.org/jira/browse/DTACLOUD-452 > 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 state. > 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' > id='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' > id='acac1fbc-fa50-47a6-8886-f61a118fd420'></image> > <realm > href='http://localhost:3001/api/realms/b91b0346-4ba3-11e2-a3ac-0050568c6b2d' > id='b91b0346-4ba3-11e2-a3ac-0050568c6b2d'></realm> > <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'>10.16.120.200</address> > <address type='mac'>00:1a:4a:10:56:86</address> > <address port='5910' type='vnc'>10.16.120.50</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 > `call' > /home/dcloud/workspace/deltacloud/server/lib/deltacloud/drivers/exceptions.rb:220:in > `safely' > /home/dcloud/workspace/deltacloud/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:111:in > `create_image' > /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!' > 127.0.0.1 - - [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: http://www.atlassian.com/software/jira