Merge branch 'master' into 2955-fail-orphan-jobs
authorPeter Amstutz <peter.amstutz@curoverse.com>
Fri, 6 Jun 2014 14:31:18 +0000 (10:31 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Fri, 6 Jun 2014 14:31:18 +0000 (10:31 -0400)
1  2 
services/api/script/crunch-dispatch.rb

index 87acb651a4347c2900689c296eb20b108f35e213,3ddf83da18ad878bc8f84efb5ab0810ecf3f6552..ee8076b305fad984aee6bdde12ef5cfe803e14d4
@@@ -1,7 -1,5 +1,7 @@@
  #!/usr/bin/env ruby
  
 +require 'trollop'
 +
  include Process
  
  $warned = {}
@@@ -22,10 -20,6 +22,10 @@@ if ENV["CRUNCH_DISPATCH_LOCKFILE"
    end
  end
  
 +$trollopts = Trollop::options do
 +    opt :use_env, "Pass selected environment variables (PATH, PYTHONPATH, RUBYLIB, GEM_PATH, PERLLIB) to crunch-job"
 +end
 +
  ENV["RAILS_ENV"] = ARGV[0] || ENV["RAILS_ENV"] || "development"
  
  require File.dirname(__FILE__) + '/../config/boot'
@@@ -140,23 -134,13 +140,13 @@@ class Dispatche
        end
  
        if Server::Application.config.crunch_job_user
-         cmd_args.unshift("sudo", "-E", "-u", Server::Application.config.crunch_job_user)
-       end
-       cmd_args << "HOME=/dev/null"
-       cmd_args << "ARVADOS_API_HOST=#{ENV['ARVADOS_API_HOST']}"
-       cmd_args << "ARVADOS_API_HOST_INSECURE=#{ENV['ARVADOS_API_HOST_INSECURE']}" if ENV['ARVADOS_API_HOST_INSECURE']
-       ENV.each do |k, v|
-         cmd_args << "#{k}=#{v}" if k.starts_with? "CRUNCH_"
-       end
-       if $trollopts.use_env
-         cmd_args << "PATH=#{ENV['PATH']}"
-         cmd_args << "PYTHONPATH=#{ENV['PYTHONPATH']}"
-         cmd_args << "PERLLIB=#{ENV['PERLLIB']}"
-         cmd_args << "RUBYLIB=#{ENV['RUBYLIB']}"
-         cmd_args << "GEM_PATH=#{ENV['GEM_PATH']}"
+         cmd_args.unshift("sudo", "-E", "-u",
+                          Server::Application.config.crunch_job_user,
+                          "PATH=#{ENV['PATH']}",
+                          "PERLLIB=#{ENV['PERLLIB']}",
+                          "PYTHONPATH=#{ENV['PYTHONPATH']}",
+                          "RUBYLIB=#{ENV['RUBYLIB']}",
+                          "GEM_PATH=#{ENV['GEM_PATH']}")
        end
  
        job_auth = ApiClientAuthorization.
        cmd_args << '--git-dir'
        cmd_args << arvados_internal
  
 -      $stderr.puts "dispatch: #{cmd_args.join ' '}"
 +      $stderr.puts "dispatch: #{cmd_args}"
  
        begin
 -        i, o, e, t = Open3.popen3(*cmd_args)
 +        i, o, e, t = Open3.popen3({}, *cmd_args, { :unsetenv_others => true})
        rescue
          $stderr.puts "dispatch: popen3: #{$!}"
          sleep 1