From: David Lutterkort <[email protected]>
In particular,
* do not expect srv["addresses"] to be set
* turn various ints into strings
---
.../drivers/rackspace/rackspace_driver.rb | 27 ++++++++++---------
1 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb
b/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb
index d1b7f4e..2dd34b8 100644
--- a/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb
+++ b/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb
@@ -114,21 +114,22 @@ class RackspaceDriver < Deltacloud::BaseDriver
def convert_srv_to_instance(srv)
- Instance.new( {
- :id=>srv["id"],
- :state=>srv["status"] == "ACTIVE" ? "RUNNING" :
"PENDING",
- :name=>srv["name"],
- :image_id=>srv["imageId"],
- :owner_id=>"root",
- :realm_id=>"us",
- :public_addresses=>( srv["addresses"]["public"] ),
- :private_addresses=>( srv["addresses"]["private"]
),
- :flavor_id=>srv["flavorId"],
- :actions=>instance_actions_for(srv["status"] ==
"ACTIVE" ? "RUNNING" : "PENDING"),
- } )
+ status = srv["status"] == "ACTIVE" ? "RUNNING" : "PENDING"
+ inst = Instance.new(:id => srv["id"].to_s,
+ :owner_id => "root",
+ :realm_id => "us")
+ inst.name = srv["name"]
+ inst.state = srv["status"] == "ACTIVE" ? "RUNNING" : "PENDING"
+ inst.actions = instance_actions_for(inst.state)
+ inst.image_id = srv["imageId"].to_s
+ inst.flavor_id = srv["flavorId"].to_s
+ if srv["addresses"]
+ inst.public_addresses = srv["addresses"]["public"]
+ inst.private_addresses = srv["addresses"]["private"]
+ end
+ inst
end
-
def new_client(credentials)
RackspaceClient.new(credentials.user, credentials.password)
end
--
1.6.6.1
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel