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:34:46 UTC
svn commit: r962184 - in /incubator/deltacloud/trunk/server/libexec:
deltacloud.rb drivers.rb lib/deltacloud/helpers.rb
lib/deltacloud/helpers/driver_helper.rb lib/deltacloud/helpers/url_helper.rb
Author: lutter
Date: Thu Jul 8 23:34:45 2010
New Revision: 962184
URL: http://svn.apache.org/viewvc?rev=962184&view=rev
Log:
Load current drivers
* deltacloud.rb: add lib/ to load path
* drivers.rb: catalog of known drivers
* lib/deltacloud/helpers.rb: load helpers
* lib/deltacloud/helpers/driver_helper.rb: load current driver
* lib/deltacloud/helpers/url_helper.rb: helpers for Rails-like URL
generation
Added:
incubator/deltacloud/trunk/server/libexec/deltacloud.rb
incubator/deltacloud/trunk/server/libexec/drivers.rb
incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers.rb
incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers/url_helper.rb
Modified:
incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers/driver_helper.rb
Added: incubator/deltacloud/trunk/server/libexec/deltacloud.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/libexec/deltacloud.rb?rev=962184&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/libexec/deltacloud.rb (added)
+++ incubator/deltacloud/trunk/server/libexec/deltacloud.rb Thu Jul 8 23:34:45 2010
@@ -0,0 +1,16 @@
+# Add ./lib into load path
+$:.unshift File.join(File.dirname(__FILE__), 'lib')
+
+require 'deltacloud/base_driver'
+require 'deltacloud/hardware_profile'
+require 'deltacloud/state_machine'
+
+require 'deltacloud/models/base_model'
+require 'deltacloud/models/flavor'
+require 'deltacloud/models/realm'
+require 'deltacloud/models/image'
+require 'deltacloud/models/instance'
+require 'deltacloud/models/storage_snapshot'
+require 'deltacloud/models/storage_volume'
+
+require 'deltacloud/helpers'
Added: incubator/deltacloud/trunk/server/libexec/drivers.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/libexec/drivers.rb?rev=962184&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/libexec/drivers.rb (added)
+++ incubator/deltacloud/trunk/server/libexec/drivers.rb Thu Jul 8 23:34:45 2010
@@ -0,0 +1,29 @@
+DRIVERS = {
+ :ec2 => { :name => "EC2" },
+ :rackspace => { :name => "Rackspace" },
+ :gogrid => { :name => "Gogrid" },
+ :rhevm => { :name => "RHEVM" },
+ :rimu => { :name => "Rimu", :class => "RimuHostingDriver"},
+ :opennebula => { :name => "Opennebula", :class => "OpennebulaDriver" },
+ :mock => { :name => "Mock" }
+}
+
+def driver_name
+ DRIVERS[DRIVER][:name]
+end
+
+def driver_class_name
+ basename = DRIVERS[DRIVER][:class] || "#{driver_name}Driver"
+ "Deltacloud::Drivers::#{driver_name}::#{basename}"
+end
+
+def driver_source_name
+ name = DRIVER.to_s
+ "deltacloud/drivers/#{name}/#{name}_driver.rb"
+end
+
+def driver
+ require driver_source_name
+ @driver ||= eval( driver_class_name ).new
+end
+
Added: incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers.rb?rev=962184&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers.rb (added)
+++ incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers.rb Thu Jul 8 23:34:45 2010
@@ -0,0 +1,6 @@
+require 'deltacloud/helpers/application_helper'
+require 'deltacloud/helpers/url_helper'
+require 'deltacloud/helpers/driver_helper'
+require 'deltacloud/helpers/hardware_profiles_helper'
+
+helpers ApplicationHelper, URLHelper, DriverHelper, HardwareProfilesHelper
Modified: incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers/driver_helper.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers/driver_helper.rb?rev=962184&r1=962183&r2=962184&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers/driver_helper.rb (original)
+++ incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers/driver_helper.rb Thu Jul 8 23:34:45 2010
@@ -17,12 +17,14 @@
require 'deltacloud/base_driver'
+require 'converters/xml_converter'
module DriverHelper
- def driver
- load "#{DRIVER_CLASS_NAME.underscore}.rb"
- @driver ||= eval( DRIVER_CLASS_NAME ).new
+ def convert_to_xml(type, obj)
+ if ( [ :flavor, :account, :image, :realm, :instance, :storage_volume, :storage_snapshot ].include?( type ) )
+ Converters::XMLConverter.new( self, type ).convert(obj)
+ end
end
def catch_auth
@@ -34,4 +36,13 @@ module DriverHelper
end
end
+ def safely(&block)
+ begin
+ block.call
+ rescue Deltacloud::AuthException => e
+ @response.status=403
+ "<error>#{e.message}</error>"
+ end
+ end
+
end
Added: incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers/url_helper.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers/url_helper.rb?rev=962184&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers/url_helper.rb (added)
+++ incubator/deltacloud/trunk/server/libexec/lib/deltacloud/helpers/url_helper.rb Thu Jul 8 23:34:45 2010
@@ -0,0 +1,5 @@
+module URLHelper
+ def root_url
+ url_for "/"
+ end
+end