You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2013/04/30 10:48:47 UTC

[1/4] git commit: Core: Deltacloud::Library must require models/drivers separately.

Updated Branches:
  refs/heads/master 1158fc0b6 -> 7feb3a0f3


Core: Deltacloud::Library must require models/drivers separately.


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/69f91200
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/69f91200
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/69f91200

Branch: refs/heads/master
Commit: 69f91200092252aa32817fd6222f1a2aee2f3957
Parents: 03d5970
Author: Michal Fojtik <mf...@redhat.com>
Authored: Fri Apr 26 14:14:30 2013 +0200
Committer: Michal fojtik <mf...@redhat.com>
Committed: Mon Apr 29 15:04:04 2013 +0200

----------------------------------------------------------------------
 server/lib/deltacloud/api.rb |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/69f91200/server/lib/deltacloud/api.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/api.rb b/server/lib/deltacloud/api.rb
index dd86c41..295bbd2 100644
--- a/server/lib/deltacloud/api.rb
+++ b/server/lib/deltacloud/api.rb
@@ -19,6 +19,9 @@ require 'ostruct'
 require 'require_relative' if RUBY_VERSION < '1.9'
 
 require_relative 'core_ext'
+require_relative 'models'
+require_relative 'drivers'
+require_relative 'helpers/driver_helper'
 require_relative 'version'
 
 module TestPoller


[3/4] git commit: Core: Added initializer to preload all drivers

Posted by mf...@apache.org.
Core: Added initializer to preload all drivers

This patch should fix all nasty Thread issues with 'require'
or 'require_relative'. Driver classes are reloaded so there is
not need to call 'require_relative' in thread-not-safe context.


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/48cf149a
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/48cf149a
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/48cf149a

Branch: refs/heads/master
Commit: 48cf149a3b12f432f1731a2f520dc68c50990fed
Parents: 1158fc0
Author: Michal Fojtik <mf...@redhat.com>
Authored: Fri Apr 26 13:34:38 2013 +0200
Committer: Michal fojtik <mf...@redhat.com>
Committed: Mon Apr 29 15:04:04 2013 +0200

----------------------------------------------------------------------
 server/lib/cimi/helpers.rb                     |    3 --
 server/lib/deltacloud/api.rb                   |    3 --
 server/lib/deltacloud/helpers/driver_helper.rb |    6 +----
 server/lib/deltacloud/server.rb                |    2 -
 server/lib/ec2/server.rb                       |    2 -
 server/lib/initialize.rb                       |    2 +
 server/lib/initializers/drivers_initialize.rb  |   24 +++++++++++++++++++
 server/tests/deltacloud/drivers_test.rb        |    2 +-
 server/tests/deltacloud/launcher_test.rb       |    7 -----
 9 files changed, 28 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/48cf149a/server/lib/cimi/helpers.rb
----------------------------------------------------------------------
diff --git a/server/lib/cimi/helpers.rb b/server/lib/cimi/helpers.rb
index 43f61f3..fcaaa31 100644
--- a/server/lib/cimi/helpers.rb
+++ b/server/lib/cimi/helpers.rb
@@ -27,9 +27,6 @@ end
 # Declare namespace for CIMI models
 #
 
-require_relative '../deltacloud/drivers'
-require_relative '../deltacloud/models'
-require_relative '../deltacloud/helpers/driver_helper'
 require_relative '../deltacloud/helpers/auth_helper'
 require_relative '../deltacloud/helpers/deltacloud_helper'
 require_relative '../deltacloud/helpers/rabbit_helper'

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/48cf149a/server/lib/deltacloud/api.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/api.rb b/server/lib/deltacloud/api.rb
index 295bbd2..dd86c41 100644
--- a/server/lib/deltacloud/api.rb
+++ b/server/lib/deltacloud/api.rb
@@ -19,9 +19,6 @@ require 'ostruct'
 require 'require_relative' if RUBY_VERSION < '1.9'
 
 require_relative 'core_ext'
-require_relative 'models'
-require_relative 'drivers'
-require_relative 'helpers/driver_helper'
 require_relative 'version'
 
 module TestPoller

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/48cf149a/server/lib/deltacloud/helpers/driver_helper.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/helpers/driver_helper.rb b/server/lib/deltacloud/helpers/driver_helper.rb
index 3f4f89b..f235a0f 100644
--- a/server/lib/deltacloud/helpers/driver_helper.rb
+++ b/server/lib/deltacloud/helpers/driver_helper.rb
@@ -50,14 +50,10 @@ module Deltacloud::Helpers
     end
 
     def driver
-      $:.unshift File.join(File.dirname(__FILE__), '..', '..')
       begin
         driver_class
       rescue NameError => e
-        require_relative(driver_source_name) ? retry : raise(LoadError.new(e.message))
-      rescue LoadError => e
-        raise "[ERROR] The driver '#{driver_name}' is unknown or not installed (#{driver_source_name})\n" +
-          "\n#{e.message}\n"
+        raise "Driver '#{driver_name}' is not available (#{e.message})."
       end
     end
 

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/48cf149a/server/lib/deltacloud/server.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/server.rb b/server/lib/deltacloud/server.rb
index e874b44..6c39e3a 100644
--- a/server/lib/deltacloud/server.rb
+++ b/server/lib/deltacloud/server.rb
@@ -20,8 +20,6 @@ require 'sinatra/base'
 require 'sinatra/rabbit'
 
 require_relative '../sinatra'
-require_relative './models'
-require_relative './drivers'
 require_relative './helpers'
 require_relative './collections'
 

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/48cf149a/server/lib/ec2/server.rb
----------------------------------------------------------------------
diff --git a/server/lib/ec2/server.rb b/server/lib/ec2/server.rb
index 90f7815..7f21fa8 100644
--- a/server/lib/ec2/server.rb
+++ b/server/lib/ec2/server.rb
@@ -20,8 +20,6 @@ require 'haml'
 require_relative '../sinatra'
 require_relative './helpers'
 require_relative './query_parser'
-require_relative '../deltacloud/models'
-require_relative '../deltacloud/drivers'
 
 module Deltacloud::EC2
   class API < Sinatra::Base

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/48cf149a/server/lib/initialize.rb
----------------------------------------------------------------------
diff --git a/server/lib/initialize.rb b/server/lib/initialize.rb
index c82bd8d..41c885c 100644
--- a/server/lib/initialize.rb
+++ b/server/lib/initialize.rb
@@ -23,6 +23,8 @@ require_relative './initializers/mock_initialize'
 # Configure available frontends
 require_relative './initializers/frontend_initialize'
 
+require_relative './initializers/drivers_initialize'
+
 if Deltacloud::need_database?
   require_relative './initializers/database_initialize'
 end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/48cf149a/server/lib/initializers/drivers_initialize.rb
----------------------------------------------------------------------
diff --git a/server/lib/initializers/drivers_initialize.rb b/server/lib/initializers/drivers_initialize.rb
new file mode 100644
index 0000000..46dc72a
--- /dev/null
+++ b/server/lib/initializers/drivers_initialize.rb
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+require_relative './../deltacloud/drivers'
+require_relative './../deltacloud/models'
+require_relative './../deltacloud/helpers/driver_helper'
+
+Deltacloud::Drivers.driver_config.each_key do |driver_name|
+  require_relative File.join('..', 'deltacloud', 'drivers', driver_name.to_s, driver_name.to_s + '_driver.rb')
+end
+
+puts "#{Deltacloud::Drivers.driver_config.size} cloud providers loaded."

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/48cf149a/server/tests/deltacloud/drivers_test.rb
----------------------------------------------------------------------
diff --git a/server/tests/deltacloud/drivers_test.rb b/server/tests/deltacloud/drivers_test.rb
index fd3126d..8142fe1 100644
--- a/server/tests/deltacloud/drivers_test.rb
+++ b/server/tests/deltacloud/drivers_test.rb
@@ -64,7 +64,7 @@ describe Deltacloud::Helpers::Drivers do
   it 'should throw an exception on unknown driver' do
     begin
       Thread.current[:driver] = 'unknown'
-      Proc.new { @helper.driver }.must_raise LoadError
+      Proc.new { @helper.driver }.must_raise RuntimeError
     ensure
       Thread.current[:driver] = 'mock'
     end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/48cf149a/server/tests/deltacloud/launcher_test.rb
----------------------------------------------------------------------
diff --git a/server/tests/deltacloud/launcher_test.rb b/server/tests/deltacloud/launcher_test.rb
index f68521e..12365cb 100644
--- a/server/tests/deltacloud/launcher_test.rb
+++ b/server/tests/deltacloud/launcher_test.rb
@@ -92,13 +92,6 @@ describe "deltacloudd" do
     end
   end
 
-  it 'lists the available drivers' do
-    Dir.chdir(File.join(File.dirname(__FILE__), '..', '..'))
-    output = `./bin/deltacloudd -l`
-    output.must_include 'Available drivers'
-    output.must_include 'mock'
-  end
-
   after do
     @pids.map { |pid| kill_process(pid) }
   end


[2/4] git commit: CIMI: Fixed minor test failures

Posted by mf...@apache.org.
CIMI: Fixed minor test failures


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/03d59707
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/03d59707
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/03d59707

Branch: refs/heads/master
Commit: 03d5970781cf040b18be505b61b2f490d8a3384e
Parents: 48cf149
Author: Michal Fojtik <mf...@redhat.com>
Authored: Fri Apr 26 13:35:47 2013 +0200
Committer: Michal fojtik <mf...@redhat.com>
Committed: Mon Apr 29 15:04:04 2013 +0200

----------------------------------------------------------------------
 .../cimi/collections/machine_templates_test.rb     |    1 -
 server/tests/cimi/collections/machines_test.rb     |    2 +-
 2 files changed, 1 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/03d59707/server/tests/cimi/collections/machine_templates_test.rb
----------------------------------------------------------------------
diff --git a/server/tests/cimi/collections/machine_templates_test.rb b/server/tests/cimi/collections/machine_templates_test.rb
index cfe2057..2cb57c8 100644
--- a/server/tests/cimi/collections/machine_templates_test.rb
+++ b/server/tests/cimi/collections/machine_templates_test.rb
@@ -24,7 +24,6 @@ describe CIMI::Collections::MachineTemplates do
     post root_url('/machine_templates'), json_body
     status.must_equal 400
     json['code'].must_equal 400
-    json['message'].must_equal "Bad request (expected ',' or '}' in object at '\"machineImage\": { \"h'!)"
   end
 
   it 'should return validation error when missing required attribute in JSON' do

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/03d59707/server/tests/cimi/collections/machines_test.rb
----------------------------------------------------------------------
diff --git a/server/tests/cimi/collections/machines_test.rb b/server/tests/cimi/collections/machines_test.rb
index b6f1de1..6a6d43a 100644
--- a/server/tests/cimi/collections/machines_test.rb
+++ b/server/tests/cimi/collections/machines_test.rb
@@ -51,7 +51,7 @@ describe CIMI::Collections::Machines do
     status.must_equal 200
     model.must_be_kind_of CIMI::Model::Machine::DiskCollection
     model.entries.size.must_equal 1
-    model.entries.first.name.must_equal "inst0_disk_0"
+    model.entries.first.name.must_include "disk"
   end
 
   describe "$expand" do


[4/4] git commit: Fixed MRI 1.9.3p194 issues

Posted by mf...@apache.org.
Fixed MRI 1.9.3p194 issues


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/7feb3a0f
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/7feb3a0f
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/7feb3a0f

Branch: refs/heads/master
Commit: 7feb3a0f38481770f6c5bd10b0022d39d4d179d0
Parents: 69f9120
Author: Michal Fojtik <mf...@redhat.com>
Authored: Mon Apr 29 15:35:58 2013 +0200
Committer: Michal fojtik <mf...@redhat.com>
Committed: Mon Apr 29 15:35:58 2013 +0200

----------------------------------------------------------------------
 .../lib/deltacloud/drivers/condor/condor_client.rb |    5 +++--
 .../lib/deltacloud/drivers/condor/condor_driver.rb |    2 +-
 .../drivers/eucalyptus/eucalyptus_driver.rb        |    2 +-
 .../lib/deltacloud/drivers/gogrid/gogrid_driver.rb |    2 +-
 .../deltacloud/drivers/opennebula/occi_client.rb   |    2 +-
 .../drivers/opennebula/opennebula_driver.rb        |    2 +-
 .../drivers/rimuhosting/rimuhosting_driver.rb      |    2 +-
 .../deltacloud/drivers/vsphere/vsphere_client.rb   |    2 +-
 8 files changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/7feb3a0f/server/lib/deltacloud/drivers/condor/condor_client.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/condor/condor_client.rb b/server/lib/deltacloud/drivers/condor/condor_client.rb
index c962d03..c294307 100644
--- a/server/lib/deltacloud/drivers/condor/condor_client.rb
+++ b/server/lib/deltacloud/drivers/condor/condor_client.rb
@@ -19,8 +19,9 @@ require 'etc'
 require 'tempfile'
 require 'yaml'
 require 'time'
-require 'deltacloud/drivers/condor/ip_agents/default'
-require 'deltacloud/drivers/condor/ip_agents/confserver'
+
+require_relative './ip_agents/default'
+require_relative './ip_agents/confserver'
 
 module CondorCloud
 

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/7feb3a0f/server/lib/deltacloud/drivers/condor/condor_driver.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/condor/condor_driver.rb b/server/lib/deltacloud/drivers/condor/condor_driver.rb
index d3477b3..34e4a1d 100644
--- a/server/lib/deltacloud/drivers/condor/condor_driver.rb
+++ b/server/lib/deltacloud/drivers/condor/condor_driver.rb
@@ -25,7 +25,7 @@ class Instance
   end
 end
 
-require 'deltacloud/drivers/condor/condor_client'
+require_relative './condor_client'
 
 module Deltacloud
 

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/7feb3a0f/server/lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb b/server/lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb
index d381f5d..aa19012 100644
--- a/server/lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb
+++ b/server/lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb
@@ -14,7 +14,7 @@
 # under the License.
 #
 
-require 'deltacloud/drivers/ec2/ec2_driver.rb'
+require_relative './../ec2/ec2_driver'
 
 module Deltacloud
   module Drivers

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/7feb3a0f/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb b/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb
index 881ef1e..eae779f 100644
--- a/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb
+++ b/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb
@@ -14,7 +14,7 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
-require 'deltacloud/drivers/gogrid/gogrid_client'
+require_relative './gogrid_client'
 
 class Instance
   attr_accessor :username

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/7feb3a0f/server/lib/deltacloud/drivers/opennebula/occi_client.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/opennebula/occi_client.rb b/server/lib/deltacloud/drivers/opennebula/occi_client.rb
index 7d71962..60d80ca 100644
--- a/server/lib/deltacloud/drivers/opennebula/occi_client.rb
+++ b/server/lib/deltacloud/drivers/opennebula/occi_client.rb
@@ -19,7 +19,7 @@ require 'rubygems'
 require 'rexml/document'
 require 'uri'
 
-require 'deltacloud/drivers/opennebula/cloud_client'
+require_relative './cloud_client'
 
 
 module OCCIClient

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/7feb3a0f/server/lib/deltacloud/drivers/opennebula/opennebula_driver.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/opennebula/opennebula_driver.rb b/server/lib/deltacloud/drivers/opennebula/opennebula_driver.rb
index 92d55db..01befd1 100644
--- a/server/lib/deltacloud/drivers/opennebula/opennebula_driver.rb
+++ b/server/lib/deltacloud/drivers/opennebula/opennebula_driver.rb
@@ -15,7 +15,7 @@
 # under the License.
 #
 
-require 'deltacloud/drivers/opennebula/occi_client'
+require_relative './occi_client'
 
 require 'erb'
 # TBD Nokogiri support

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/7feb3a0f/server/lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb b/server/lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb
index 55eec11..34d06af 100644
--- a/server/lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb
+++ b/server/lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb
@@ -16,7 +16,7 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
-require "deltacloud/drivers/rimuhosting/rimuhosting_client"
+require_relative "./rimuhosting_client"
 
 module Deltacloud
   module Drivers

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/7feb3a0f/server/lib/deltacloud/drivers/vsphere/vsphere_client.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/vsphere/vsphere_client.rb b/server/lib/deltacloud/drivers/vsphere/vsphere_client.rb
index a4b86ad..7d8e36a 100644
--- a/server/lib/deltacloud/drivers/vsphere/vsphere_client.rb
+++ b/server/lib/deltacloud/drivers/vsphere/vsphere_client.rb
@@ -16,7 +16,7 @@
 
 module Deltacloud::Drivers::VSphere
 
-  require 'deltacloud/drivers/vsphere/vsphere_filemanager'
+  require_relative './vsphere_filemanager'
 
   module Helper