You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by lu...@apache.org on 2010/07/09 01:24:42 UTC
svn commit: r962130 - in /incubator/deltacloud/trunk/drivers/rackspace/lib:
rackspace_driver.rb sample.rb
Author: lutter
Date: Thu Jul 8 23:24:42 2010
New Revision: 962130
URL: http://svn.apache.org/viewvc?rev=962130&view=rev
Log:
yay working with framework
Modified:
incubator/deltacloud/trunk/drivers/rackspace/lib/rackspace_driver.rb
incubator/deltacloud/trunk/drivers/rackspace/lib/sample.rb
Modified: incubator/deltacloud/trunk/drivers/rackspace/lib/rackspace_driver.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/drivers/rackspace/lib/rackspace_driver.rb?rev=962130&r1=962129&r2=962130&view=diff
==============================================================================
--- incubator/deltacloud/trunk/drivers/rackspace/lib/rackspace_driver.rb (original)
+++ incubator/deltacloud/trunk/drivers/rackspace/lib/rackspace_driver.rb Thu Jul 8 23:24:42 2010
@@ -3,5 +3,41 @@ require 'rackspace_client'
class RackspaceDriver < DeltaCloud::BaseDriver
+ def flavors(credentials, opts=nil)
+ racks = new_client( credentials )
+ results = racks.list_flavors.map do |flav|
+ Flavor.new( {
+ :id=> flav["id"].to_s,
+ :memory=>flav["ram"].to_f/1024,
+ :storage=>flav["disk"].to_i,
+ :architecture=>'x86_64'
+ } )
+ end
+ results = filter_on( results, :id, opts )
+ results = filter_on( results, :architecture, opts )
+ results
+ end
+
+ def images(credentials, opts=nil)
+ racks = new_client( credentials )
+ results = racks.list_images.map do |img|
+ Image.new( {
+ :id=>img["id"].to_s,
+ :description=>img["name"],
+ :owner_id=>"root",
+ :architecture=>'x86_64'
+ } )
+ end
+ results.sort_by{|e| [e.description]}
+ end
+
+
+
+ def new_client(credentials)
+ if ( credentials[:name].nil? || credentials[:password].nil? || credentials[:name] == '' || credentials[:password] == '' )
+ raise DeltaCloud::AuthException.new
+ end
+ RackspaceClient.new(credentials[:name], credentials[:password])
+ end
end
Modified: incubator/deltacloud/trunk/drivers/rackspace/lib/sample.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/drivers/rackspace/lib/sample.rb?rev=962130&r1=962129&r2=962130&view=diff
==============================================================================
--- incubator/deltacloud/trunk/drivers/rackspace/lib/sample.rb (original)
+++ incubator/deltacloud/trunk/drivers/rackspace/lib/sample.rb Thu Jul 8 23:24:42 2010
@@ -7,7 +7,7 @@ require 'rackspace_client'
rs_client = RackspaceClient.new(ARGV[0], ARGV[1])
-rs_client.list_flavors.each { |e| puts e['name'] + " --> " + e['id'].to_s}
+puts rs_client.list_flavors
rs_client.list_images.each { |e| puts e['name'] + " --> " + e['status'] + " --> " + e['id'].to_s }
@@ -18,7 +18,7 @@ if (instances.size > 0) then
instances.each { |e| puts e['id'].to_s + " ---> " + e['name'] + " ---> " + e['status'] }
puts "shut it down, yo"
#puts rs_client.load_server_details(instances[0]['id'])
- puts rs_client.delete_server( instances[0]['id'] )
+ #puts rs_client.delete_server( instances[0]['id'] )
#puts rs_client.reboot_server( instances[0]['id'] )
else
puts "we should start something up"