You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by mf...@redhat.com on 2011/11/07 11:47:10 UTC

[PATCH core] Mock: Moved the default directory from /var/tmp to /var/lib (BZ: #750880)

From: Michal Fojtik <mf...@redhat.com>


Signed-off-by: Michal fojtik <mf...@redhat.com>
---
 server/Rakefile                                   |   13 +++++++++----
 server/lib/deltacloud/drivers/mock/mock_driver.rb |    2 +-
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/server/Rakefile b/server/Rakefile
index f07a6ce..e8b2f03 100644
--- a/server/Rakefile
+++ b/server/Rakefile
@@ -129,13 +129,18 @@ namespace :mock do
       if ENV["DELTACLOUD_MOCK_STORAGE"]
         storage_root = ENV["DELTACLOUD_MOCK_STORAGE"]
       elsif ENV["USER"]
-        storage_root = File::join("/var/tmp", "deltacloud-mock-#{ENV["USER"]}")
+        storage_root = File::join("/var/lib/deltacloud", "deltacloud-mock-#{ENV["USER"]}")
       else
         raise "Please set either the DELTACLOUD_MOCK_STORAGE or USER environment variable"
       end
       data = Dir::glob(File::join(File::dirname(__FILE__), "lib", "deltacloud", "drivers", "mock", "data", "*"))
-      FileUtils::mkdir_p(storage_root, :verbose => true)
-      FileUtils::cp_r(data, storage_root, :verbose => true)
+      begin
+        FileUtils::mkdir_p(storage_root, :verbose => true)
+        FileUtils::cp_r(data, storage_root, :verbose => true)
+      rescue Errno::EACCES
+        puts "\nERROR: Please create the '/var/lib/deltacloud' directory manually and ensure that the current user has write permissions on it.\n"
+        puts "TIP: You can set the DELTACLOUD_MOCK_STORAGE environment variable to overide the default location.\n\n"
+      end
     end
 
     desc "Remove Mock driver fixtures"
@@ -143,7 +148,7 @@ namespace :mock do
       if ENV["DELTACLOUD_MOCK_STORAGE"]
         storage_root = ENV["DELTACLOUD_MOCK_STORAGE"]
       elsif ENV["USER"]
-        storage_root = File::join("/var/tmp", "deltacloud-mock-#{ENV["USER"]}")
+        storage_root = File::join("/var/lib/deltacloud", "deltacloud-mock-#{ENV["USER"]}")
       else
         raise "Please set either the DELTACLOUD_MOCK_STORAGE or USER environment variable"
       end
diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb b/server/lib/deltacloud/drivers/mock/mock_driver.rb
index 29d18ef..a5f6ff1 100644
--- a/server/lib/deltacloud/drivers/mock/mock_driver.rb
+++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb
@@ -91,7 +91,7 @@ module Deltacloud::Drivers::Mock
       if ENV["DELTACLOUD_MOCK_STORAGE"]
         storage_root = ENV["DELTACLOUD_MOCK_STORAGE"]
       elsif ENV["USER"]
-        storage_root = File::join("/var/tmp", "deltacloud-mock-#{ENV["USER"]}")
+        storage_root = File::join("/var/lib/deltacloud", "deltacloud-mock-#{ENV["USER"]}")
       else
         raise "Please set either the DELTACLOUD_MOCK_STORAGE or USER environment variable"
       end
-- 
1.7.4.4