As with the EC2 and GoGrid drivers, make sure to return
at least a minimal instance object from the action methods.
This fixes up stack traces being generated after these
calls succeed.

Signed-off-by: Chris Lalancette <[email protected]>
---
 .../drivers/rackspace/rackspace_driver.rb          |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb 
b/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb
index 3ad5452..c1531cd 100644
--- a/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb
+++ b/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb
@@ -66,6 +66,11 @@ class RackspaceDriver < Deltacloud::BaseDriver
   def reboot_instance(credentials, id)
     racks = new_client(credentials)
     racks.reboot_server(id)
+    Instance.new( {
+      :id => id,
+      :state => "REBOOT",
+      :actions => instance_actions_for( state ),
+    } )
   end
 
   def stop_instance(credentials, id)
@@ -75,6 +80,11 @@ class RackspaceDriver < Deltacloud::BaseDriver
   def destroy_instance(credentials, id)
     racks = new_client(credentials)
     racks.delete_server(id)
+    Instance.new( {
+      :id => id,
+      :state => "STOPPED",
+      :actions => instance_actions_for( "STOPPED" ),
+    } )
   end
 
 
@@ -110,7 +120,6 @@ class RackspaceDriver < Deltacloud::BaseDriver
 
 
   def convert_srv_to_instance(srv)
-    status = srv["status"] == "ACTIVE" ? "RUNNING" : "PENDING"
     inst = Instance.new(:id => srv["id"].to_s,
                         :owner_id => "root",
                         :realm_id => "us")
-- 
1.6.6.1

_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to