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"