[ARVADOS] updated: 08eb585acafb30111d81c40f7e4b2c97d5fa4786

git at public.curoverse.com git at public.curoverse.com
Wed Mar 26 13:02:41 EDT 2014


Summary of changes:
 apps/workbench/Gemfile                             |    9 +-
 apps/workbench/Gemfile.lock                        |   31 +
 apps/workbench/README.rdoc                         |  261 --------
 apps/workbench/README.textile                      |   19 +
 apps/workbench/app/assets/javascripts/editable.js  |    9 +
 .../api_client_authorizations_controller.rb        |    9 +-
 .../app/controllers/application_controller.rb      |    3 +-
 .../controllers/pipeline_templates_controller.rb   |    5 +-
 apps/workbench/app/controllers/users_controller.rb |   63 ++-
 apps/workbench/app/helpers/application_helper.rb   |   14 +-
 apps/workbench/app/models/arvados_api_client.rb    |   34 +-
 apps/workbench/app/models/arvados_base.rb          |   31 +-
 apps/workbench/app/models/arvados_resource_list.rb |   11 +
 .../app/views/application/_paging.html.erb         |    8 +-
 .../app/views/layouts/application.html.erb         |    6 +-
 .../app/views/users/_show_activity.html.erb        |    4 +
 apps/workbench/app/views/users/activity.html.erb   |   72 +++
 apps/workbench/config/application.default.yml      |   12 +-
 .../config/environments/development.rb.example     |   20 -
 .../config/environments/production.rb.example      |   19 -
 apps/workbench/config/environments/test.rb.example |   19 -
 apps/workbench/config/routes.rb                    |    1 +
 apps/workbench/lib/tasks/config_check.rake         |   13 +-
 apps/workbench/test/integration/logins_test.rb     |   14 +
 apps/workbench/test/integration/smoke_test.rb      |   39 ++
 .../test/integration/virtual_machines_test.rb      |   17 +
 apps/workbench/test/integration_helper.rb          |   77 +++
 doc/README                                         |   31 -
 doc/README.textile                                 |   58 ++
 .../install-workbench-app.html.textile.liquid      |    2 -
 .../tutorials/tutorial-keep.html.textile.liquid    |    2 +-
 .../tutorial-new-pipeline.html.textile.liquid      |    1 -
 sdk/cli/bin/arv                                    |   21 +-
 sdk/cli/bin/crunch-job                             |   65 ++-
 .../api/app/controllers/application_controller.rb  |    2 +-
 .../controllers/arvados/v1/schema_controller.rb    |   23 +-
 .../app/controllers/arvados/v1/users_controller.rb |   49 ++-
 services/api/app/models/commit.rb                  |   19 +-
 services/api/app/models/user.rb                    |  152 +++++
 services/api/config/application.default.yml        |   12 +-
 services/api/config/application.yml.example        |    7 +-
 .../api/config/environments/development.rb.example |   39 --
 .../api/config/environments/production.rb.example  |   42 --
 services/api/config/environments/test.rb.example   |   40 --
 services/api/config/routes.rb                      |    4 +-
 services/api/lib/tasks/config_check.rake           |   13 +-
 services/api/script/crunch-dispatch.rb             |    2 +-
 services/api/script/rails                          |    4 -
 services/api/script/setup-new-user.rb              |   66 ++
 .../arvados/v1/collections_controller_test.rb      |   22 +
 .../arvados/v1/schema_controller_test.rb           |    2 +-
 .../functional/arvados/v1/users_controller_test.rb |  645 ++++++++++++++++++++
 .../api/test/integration/collections_api_test.rb   |   12 +
 services/api/test/integration/permissions_test.rb  |  244 ++++++++
 services/api/test/unit/user_test.rb                |  280 +++++++++-
 55 files changed, 2079 insertions(+), 600 deletions(-)
 delete mode 100644 apps/workbench/README.rdoc
 create mode 100644 apps/workbench/README.textile
 create mode 100644 apps/workbench/app/views/users/_show_activity.html.erb
 create mode 100644 apps/workbench/app/views/users/activity.html.erb
 create mode 100644 apps/workbench/test/integration/logins_test.rb
 create mode 100644 apps/workbench/test/integration/smoke_test.rb
 create mode 100644 apps/workbench/test/integration/virtual_machines_test.rb
 create mode 100644 apps/workbench/test/integration_helper.rb
 delete mode 100644 doc/README
 create mode 100644 doc/README.textile
 create mode 100755 services/api/script/setup-new-user.rb
 create mode 100644 services/api/test/integration/permissions_test.rb

       via  08eb585acafb30111d81c40f7e4b2c97d5fa4786 (commit)
       via  019c624eb61e8bd87bc505fc066473ce85a2a268 (commit)
       via  d4936db54192ca158104fb734c6d154e28397c56 (commit)
       via  921c13a95c2d13c94de74601e5bc26e5b0c71c31 (commit)
       via  4e26baca96b4cb9e2145475bf31f18a0ffad2c26 (commit)
       via  e102a3b3100577137def302ecd0f810bc46b808a (commit)
       via  23a65392c4dd88f28cbf94ac451bd1f1d9cd0be4 (commit)
       via  b98ffafdc9e1b5904b200013ebe106959334c0c3 (commit)
       via  51a07a4abf5b21fb983e5df39dc2ea9ae58d0469 (commit)
       via  64cdcaf6b38437c459bce30445e547c274e3f99e (commit)
       via  031ad8460650129f8bed088e801fb0762d4d29b3 (commit)
       via  b65cb64f0d7865266bd8674e681cd0f48fd476c7 (commit)
       via  b9e9a418b7db148352bfc6b9f616c37163f38c32 (commit)
       via  9f5d16ade2d95497ed9610eefd03d76fb15eb747 (commit)
       via  ee21f45e958de5ef39970981ead6416e3790cd1a (commit)
       via  2013479619e9aa838037262564ac4f265f786ad0 (commit)
       via  fad09fd18d6c364f358f3d7c5782b4d0360c68ab (commit)
       via  5991a5bb4a4ccf74b763570941458dfee640f6d1 (commit)
       via  31bb970d362490abc5238e895e04ab41d828e64c (commit)
       via  48b87a694a78f09e8e7c6d05212f1e21aa2423d3 (commit)
       via  de10e681e82e0cb987ffb95109a6c09a13f49944 (commit)
       via  91526e84bf213e08b602fdbd4e7b69a18d401483 (commit)
       via  a248323fdb1bfa315a3dc9af0a2362aa5b0a0f46 (commit)
       via  545b33abf34ebbc74fe16e5e541e82d5a79e8457 (commit)
       via  1d3810b3150d653314437471d7858cdbf76b62c7 (commit)
       via  67a54670123669370bb4e664c7e40c71f7539b5f (commit)
       via  0e560c4a9b3f1d46edcbd3fbc595beffc6efca47 (commit)
       via  8dd84d8f667aa40b9c8ce91d1a9248e1a7218039 (commit)
       via  4baccff09d5f8c48cc3c431365f1e029a8c40bb1 (commit)
       via  87501e7bf8d4f2303cc25a00e93476784911438b (commit)
       via  2bfc24e6eb5cbd51bbb2717cd70b02a25b008ae5 (commit)
       via  3dc88c9d537e6056e544746753f7e7befe55cbff (commit)
       via  968a749a6981074ba2159df70adde92b2e681263 (commit)
       via  dff5bfa5afbdd49bf0003b75583b7120f21b7df7 (commit)
       via  83fa2045a190732f8dd9bed3e5c6071ce66da07f (commit)
       via  8c021e4b54a8179e86dd887e1eb8db9ef4dd9672 (commit)
       via  6a18fc0d6f3f9859e905d4762796d813a157605b (commit)
       via  35e245f09cfc5ace6259a671a1f12fd508750b13 (commit)
       via  6fc29fa2b44072bc9a1cd015282dde30a0ee72c4 (commit)
       via  ee1abbc5a99dc2fa67de7713107ccd5473bd94a5 (commit)
       via  1896a42e2da493b024dce40266a4814883c08003 (commit)
       via  a66dcf3c878be422520771e5bde3791248dba001 (commit)
       via  be04ef9fec4824bd09b290999f2f961379bd2b83 (commit)
       via  46f47b1e941e1471363a5d5480dbe4c68c18703a (commit)
       via  007446e69619bae44193f219b6d9b7fda31bafad (commit)
       via  bf53b14daa894c77ea2b9413e9a574897446a2b7 (commit)
       via  178545086f0752789ca79d212e92f8c45030ead9 (commit)
       via  a8537e43ce618b6f71e7195a3c8d08c5c8909ad1 (commit)
       via  65a085e1a2812e48a6f4b21d5229430549fb8791 (commit)
       via  6f1ecb3df81614ff2007088e55ca4ce51e6ae90b (commit)
       via  2d2e5e107fc258c2d6c864f61cb0b03b901c2088 (commit)
       via  e9a25bfe507179a20c4bb8a994ad394759b5239f (commit)
       via  d51fa3200eef8da2798ab7d29e0e6180d3da71f7 (commit)
       via  90f5ffab02a256828d43e6c04b511b47fa6ea2a9 (commit)
       via  9e3d3a05f976ff795418ebdcc480f1a7afd9d4de (commit)
       via  b8b693c0c8db03a251d51eb42b46ea1faf719b1a (commit)
       via  eb0fdee4d4fdb516dd57998ae6a34840354e6e77 (commit)
       via  e5a9f73847bab2d27a9423bb1c237063f7739bef (commit)
       via  c19e37b1452cc7c8234f05f2b0f2ce3ae2f0dff6 (commit)
       via  e8167f6b3a83525a07c79e03917bad570a6c5c26 (commit)
       via  2e2ce40b47b9e248805dcccc59baa77591c13d79 (commit)
       via  c6ff7517791480b4bf45de0a64553c97c5d4fd17 (commit)
       via  8fa6952e7aaf9afc6d72699b165a693962151a21 (commit)
       via  027953372c41b16b191d9a1124b82f1c21a759f9 (commit)
       via  f14fb304f537a3e006e4312f225c88217634eb6d (commit)
       via  81c6881710e5d2e21f44682455f176dd965684cd (commit)
       via  71d1a30b467a43ef312fd7e81d795864799415b2 (commit)
       via  14ea55f217bbd7061fafc1fe69f4f453ad7c3e59 (commit)
       via  354367a4c824a1e44192f2ea9364fd9414162f4d (commit)
       via  c36fe93c282ef320e7e5f0f9182994b50f7e88d3 (commit)
       via  259c3b7b2e77b17590beef58b519f57a7d9b41e7 (commit)
       via  40f9e6c22b1a4f7cbe473bae2e4336ef23feb41a (commit)
       via  694e7cdb8bce9e18ca63fab78c3201232b8aab77 (commit)
       via  3e3ef3aec33b4374a0d5cdfdb52b233499f9eb90 (commit)
       via  d4f3fdcb1cb4eea905961228eb46e9c8203c719c (commit)
       via  46e1645bb91debb3e4ad98b82895ada5329e9351 (commit)
       via  994fa8b63a19f2253b6027d64f7ea72c43ea1192 (commit)
       via  df8de1bd9a517a1a3bfac0f8ab9ace41524d4b39 (commit)
       via  3e130a782321de2a0343fcec8a3365442ecde431 (commit)
       via  d65964ad6063b6cd5420004a5cbdc58fe2d0b194 (commit)
       via  c09ec8260b02c4767c82bcb5b346899193329828 (commit)
       via  03aadd3864de6d5687e1e6c71815fafc4ec030af (commit)
       via  7c8f8fda0c43bc379995ebb0204112eccfb6d97d (commit)
       via  49016b4c5681cf819b3e42370e6e65c254cde4b4 (commit)
       via  31506905a346552d6ef7a0b100c5fd203da7c2d8 (commit)
       via  6849ec08498a596d0604c2876dcd605ce6c6aaeb (commit)
       via  4ad105bd22c9141e5f88139ad3bf334a52f7a5d1 (commit)
       via  061dc0bcb7ced7ad196c6cc71dd25aab59948e46 (commit)
       via  1f5561a43693243ad3b6737dcd1020cbe0cc809f (commit)
       via  00a420599077a5063aba449fe9986a765db6bdb3 (commit)
       via  24e20b5eb6f6e021b7f6789ce6e6b4c5a8c678be (commit)
       via  375c23fa047e5fcd09e71f5c473dbd05cbe14891 (commit)
       via  e5804f99569634967d4affe322a382034d81cfa8 (commit)
       via  23a7957589e03db8576c6547d3204477c2b0e7f3 (commit)
       via  95e59f8e8c427bf199445a75102f1dfaeb4bf8a6 (commit)
       via  c50aa22b70789edf34fd72741f02f48ea138d5fe (commit)
       via  764a15cfda6fc6c612a64f9b8542c408afbda921 (commit)
       via  e348aa5023875dbbbd40a0dc2ee32ea6aee53edd (commit)
       via  5a5b2ae2ce1f5898bacb913459ecbc2d575733af (commit)
       via  0496ff36445af8eae98914b91869ac52d951148e (commit)
       via  36b981fd2ddc6c491a9da1c5410ce802ecb13e65 (commit)
       via  7112a411de36be33f6857aea3bc750a87b139854 (commit)
       via  3e5b4f4602903d00650aa7d57a6934617468dd9f (commit)
       via  1b6d98d5000a0c21a5e06a5195cba70d0c2d4dde (commit)
       via  87f67abc3c73634afbaf7ebad1445c1f234dc5d4 (commit)
       via  240c16d4be50f3cb73d5d573421430efb7ece00f (commit)
       via  4b57d5f64a980777888fa49657d6fe0617514218 (commit)
       via  851f7d9cc9d3f6e4843a8fbd507338b1cc0e9f2c (commit)
       via  366c5db829a38cfceb5894a4af5ee4c3ec5901c8 (commit)
       via  107377eaf36cba7130e7bc9f42111147049cbd0b (commit)
       via  9b10524c349d0c28a6dcf33ad0a473c3eb2d2b2f (commit)
       via  dc01c0405fbc4c17e3fc947dd154e1adb915a790 (commit)
       via  32f8186abb06258d0cfe0f05e040365c4ec6b68a (commit)
       via  5351e44b4947d93c1027c70afde0b2fda150abb2 (commit)
       via  ea812dad57e1e31cfce0167a8b8431aad15bf01a (commit)
       via  af19eb3a35900457a1dcfadee789a9052fb50335 (commit)
       via  7db862a48062c6086ea8a6787149afa7d66b1919 (commit)
       via  ac4facb25d9c5828c247ada1fa7618c5a2e8b2d8 (commit)
       via  dcbb5acc0f9767c6b358e5f5d6055b78290430ab (commit)
       via  daf4ff30727f49ee3606fe8adab3b67f35e00beb (commit)
       via  29ad4d318197a0e58ba0aa070723f19ee219364d (commit)
       via  cf7e30873ef4b92cc8ec099b2bb344391a070e93 (commit)
       via  cbfc8eea7f3fc96f478530c77441b7175a043a17 (commit)
       via  8993f82f9148553603d9d6ce5f638a253f7fce70 (commit)
       via  501db79a2d00dcd79b3cf3757f6a93ef6c1c1696 (commit)
       via  22b6371cb0ff61b9dd19cef581ec1bdaae1b0bd9 (commit)
       via  4127b85f2c1af611bb70d5ab469adac126d0a7a4 (commit)
       via  2d9d106c40b83e9a72d431bdb198ed5b8b13550a (commit)
       via  acf1ba5bb4d987012030de8978cc6930e1bee654 (commit)
       via  fca114122bb204b34414a17e278748ec8e87e136 (commit)
       via  b37cf5e27548d8af4ec355c9a102c9a5734b3306 (commit)
      from  61a6b0d1f60cb152c9a89bef11881404a64aeede (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 08eb585acafb30111d81c40f7e4b2c97d5fa4786
Merge: 019c624 61a6b0d
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date:   Wed Mar 26 13:02:24 2014 -0400

    Merge branch '1741-internal-git-repo' of git.clinicalfuture.com:arvados into 1741-internal-git-repo


commit 019c624eb61e8bd87bc505fc066473ce85a2a268
Merge: d4936db 921c13a
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date:   Wed Mar 26 13:01:15 2014 -0400

    Merge branch 'master' into 1741-internal-git-repo
    Also changes application.default.yml to use /var/lib instead of /var/cache.
    
    Conflicts:
    	doc/README
    	doc/user/tutorials/tutorial-new-pipeline.html.textile.liquid

diff --cc doc/README.textile
index 0000000,23a82fe..f88d304
mode 000000,100644..100644
--- a/doc/README.textile
+++ b/doc/README.textile
@@@ -1,0 -1,52 +1,58 @@@
+ h1. Arvados documentation
+ 
+ This is the source code for "doc.arvados.org":http://doc.arvados.org.
+ 
+ Here's how to build the HTML pages locally so you can preview your updates before you commit and push.
+ 
+ Additional information is available on the "'Documentation' page on the Arvados wiki":https://arvados.org/projects/arvados/wiki/Documentation.
+ 
+ h2. 0. Install dependencies
+ 
+ <pre>
+ arvados/doc$ bundle install
+ </pre>
+ 
+ h2. 1. Generate HTML pages
+ 
+ <pre>
+ arvados/doc$ rake
+ </pre>
+ 
++Alternately, to make the documentation browsable on the local filesystem:
++
++<pre>
++arvados/doc$ rake generate baseurl=$PWD/.site
++</pre>
++
+ h2. 2. Preview HTML pages
+ 
+ <pre>
+ arvados/doc$ rake run
+ [2014-03-10 09:03:41] INFO  WEBrick 1.3.1
+ [2014-03-10 09:03:41] INFO  ruby 2.1.1 (2014-02-24) [x86_64-linux]
+ [2014-03-10 09:03:41] INFO  WEBrick::HTTPServer#start: pid=8926 port=8000
+ </pre>
+ 
+ Preview the rendered pages at "http://localhost:8000":http://localhost:8000.
+ 
+ h2. 3. Publish HTML pages inside Workbench
+ 
+ (or some other web site)
+ 
+ You can set @baseurl@ (the URL prefix for all internal links), @arvados_api_host@ and @arvados_workbench_host@ without changing @_config.yml@:
+ 
+ <pre>
+ arvados/doc$ rake generate baseurl=/doc arvados_api_host=xyzzy.arvadosapi.com
+ </pre>
+ 
+ Make the docs appear at {workbench_host}/doc by creating a symbolic link in Workbench's @public@ directory, pointing to the generated HTML tree.
+ 
+ <pre>
+ arvados/doc$ ln -sn ../../../doc/.site ../apps/workbench/public/doc
+ </pre>
+ 
+ h2. 4. Delete generated files
+ 
+ <pre>
+ arvados/doc$ rake realclean
+ </pre>
diff --cc doc/user/tutorials/tutorial-new-pipeline.html.textile.liquid
index a4bad58,d218c3b..132bc9d
--- a/doc/user/tutorials/tutorial-new-pipeline.html.textile.liquid
+++ b/doc/user/tutorials/tutorial-new-pipeline.html.textile.liquid
@@@ -71,5 -69,5 +71,4 @@@ Now, use @arv pipeline_template create
  </code></pre>
  </notextile>
  
 -Your new pipeline template will appear on the "Workbench %(rarr)→% Compute %(rarr)→% Pipeline templates":http://{{ site.arvados_workbench_host }}/pipeline_templates page.
 -
 +Your new pipeline template will appear on the "Workbench %(rarr)→% Compute %(rarr)→% Pipeline templates":https://{{ site.arvados_workbench_host }}/pipeline_instances page.
- 
diff --cc services/api/config/application.default.yml
index c1382b6,e46ff5d..298b001
--- a/services/api/config/application.default.yml
+++ b/services/api/config/application.default.yml
@@@ -45,17 -45,7 +45,17 @@@ common
    secret_token: ~
    uuid_prefix: <%= Digest::MD5.hexdigest(`hostname`).to_i(16).to_s(36)[0..4] %>
  
 -  git_repositories_dir: /var/cache/git
 +  # Git repositories must be readable by api server, or you won't be
 +  # able to submit crunch jobs. To pass the test suites, put a clone
 +  # of the arvados tree in {git_repositories_dir}/arvados.git or
 +  # {git_repositories_dir}/arvados/.git
-   git_repositories_dir: /var/cache/git
++  git_repositories_dir: /var/lib/arvados/git
 +
 +  # This is a (bare) repository that stores commits used in jobs.  When a job
-   # runs, the source commits are first fetched into this repository, then
-   # deployed to compute nodes.  This should NOT be a subdirectory of
-   # {git_repositiories_dir}.
-   git_internal_dir: /var/cache/arvados/internal.git
++  # runs, the source commits are first fetched into this repository, then this
++  # repository is used to deploy to compute nodes.  This should NOT be a
++  # subdirectory of {git_repositiories_dir}.
++  git_internal_dir: /var/lib/arvados/internal.git
  
    # :none or :slurm_immediate
    crunch_job_wrapper: :none

commit d4936db54192ca158104fb734c6d154e28397c56
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date:   Wed Mar 26 09:50:53 2014 -0400

    Added explicit configuration parameter git_internal_dir.  Needs to be tested.

diff --git a/services/api/app/models/commit.rb b/services/api/app/models/commit.rb
index 4df5198..ec2c0e0 100644
--- a/services/api/app/models/commit.rb
+++ b/services/api/app/models/commit.rb
@@ -11,7 +11,7 @@ class Commit < ActiveRecord::Base
   # "apps:HEAD"
 
   # def self.find_by_commit_ish(commit_ish)
-  #   if only_valid_chars.match(commit_ish)       
+  #   if only_valid_chars.match(commit_ish)
   #     logger.warn "find_by_commit_ish called with string containing invalid characters: '#{commit_ish}'"
   #     return nil
   #   end
@@ -39,11 +39,9 @@ class Commit < ActiveRecord::Base
   #   nil
   # end
 
-  ARVADOS_INTERNAL = "_arvados_internal.git"
-
   def self.find_commit_range(current_user, repository, minimum, maximum, exclude)
     only_valid_chars = /[^A-Za-z0-9_-]/
-    if only_valid_chars.match(minimum) || only_valid_chars.match(maximum) 
+    if only_valid_chars.match(minimum) || only_valid_chars.match(maximum)
       logger.warn "find_commit_range called with string containing invalid characters: '#{minimum}', '#{maximum}'"
       return nil
     end
@@ -51,7 +49,7 @@ class Commit < ActiveRecord::Base
     if minimum and minimum.empty?
         minimum = nil
     end
-    
+
     if !maximum
       maximum = "HEAD"
     end
@@ -98,11 +96,11 @@ class Commit < ActiveRecord::Base
           exclude.each do |e|
             IO.foreach("|git rev-list --max-count=1 #{e}") do |line|
               resolved_exclude.push(line.strip)
-            end  
+            end
           end
         end
 
-        if minimum          
+        if minimum
           # Get the commit hash for the lower bound
           min_hash = nil
           IO.foreach("|git rev-list --max-count=1 #{minimum}") do |line|
@@ -111,12 +109,12 @@ class Commit < ActiveRecord::Base
 
           # If not found, nothing else to do
           next if !min_hash
-          
+
           # Now find all commits between them
           #puts "git rev-list #{min_hash}..#{max_hash}"
           IO.foreach("|git rev-list #{min_hash}..#{max_hash}") do |line|
             hash = line.strip
-            commits.push(hash) if !resolved_exclude or !resolved_exclude.include? hash              
+            commits.push(hash) if !resolved_exclude or !resolved_exclude.include? hash
           end
 
           commits.push(min_hash) if !resolved_exclude or !resolved_exclude.include? min_hash
@@ -171,9 +169,10 @@ class Commit < ActiveRecord::Base
     @repositories = {}
     @gitdirbase = Rails.configuration.git_repositories_dir
     Dir.foreach @gitdirbase do |repo|
-      next if repo.match /^\./ or repo == ARVADOS_INTERNAL
+      next if repo.match /^\./
       git_dir = File.join(@gitdirbase,
                           repo.match(/\.git$/) ? repo : File.join(repo, '.git'))
+      next if git_dir == Rails.configuration.git_internal_dir
       repo_name = repo.sub(/\.git$/, '')
       @repositories[repo_name] = {git_dir: git_dir}
     end
diff --git a/services/api/config/application.default.yml b/services/api/config/application.default.yml
index e46ff5d..c1382b6 100644
--- a/services/api/config/application.default.yml
+++ b/services/api/config/application.default.yml
@@ -45,8 +45,18 @@ common:
   secret_token: ~
   uuid_prefix: <%= Digest::MD5.hexdigest(`hostname`).to_i(16).to_s(36)[0..4] %>
 
+  # Git repositories must be readable by api server, or you won't be
+  # able to submit crunch jobs. To pass the test suites, put a clone
+  # of the arvados tree in {git_repositories_dir}/arvados.git or
+  # {git_repositories_dir}/arvados/.git
   git_repositories_dir: /var/cache/git
 
+  # This is a (bare) repository that stores commits used in jobs.  When a job
+  # runs, the source commits are first fetched into this repository, then
+  # deployed to compute nodes.  This should NOT be a subdirectory of
+  # {git_repositiories_dir}.
+  git_internal_dir: /var/cache/arvados/internal.git
+
   # :none or :slurm_immediate
   crunch_job_wrapper: :none
 
diff --git a/services/api/config/application.yml.example b/services/api/config/application.yml.example
index 488c4bd..9162fc4 100644
--- a/services/api/config/application.yml.example
+++ b/services/api/config/application.yml.example
@@ -37,10 +37,5 @@ test:
   secret_token: <%= rand(2**512).to_s(36) %>
 
 common:
-
-  # Git repositories must be readable by api server, or you won't be
-  # able to submit crunch jobs. To pass the test suites, put a clone
-  # of the arvados tree in {git_repositories_dir}/arvados.git or
-  # {git_repositories_dir}/arvados/.git
-  #
   #git_repositories_dir: /var/cache/git
+  #git_internal_dir: /var/cache/arvados/internal.git
diff --git a/services/api/script/crunch-dispatch.rb b/services/api/script/crunch-dispatch.rb
index a90479c..7d42e14 100755
--- a/services/api/script/crunch-dispatch.rb
+++ b/services/api/script/crunch-dispatch.rb
@@ -152,7 +152,7 @@ class Dispatcher
 
       require 'shellwords'
 
-      arvados_internal = File.join(Rails.configuration.git_repositories_dir, Commit::ARVADOS_INTERNAL)
+      arvados_internal = Rails.configuration.git_internal_dir
       if not File.exists? arvados_internal
         $stderr.puts `mkdir -p #{arvados_internal.shellescape} && cd #{arvados_internal.shellescape} && git init --bare`
       end
@@ -166,7 +166,7 @@ class Dispatcher
         untake(job)
         next
       end
-      
+
       $stderr.puts `cd #{arvados_internal.shellescape} && git fetch --no-tags #{src_repo.shellescape} && git tag #{job.uuid.shellescape} #{job.script_version.shellescape}`
 
       cmd_args << crunch_job_bin
@@ -174,7 +174,7 @@ class Dispatcher
       cmd_args << job_auth.api_token
       cmd_args << '--job'
       cmd_args << job.uuid
-      cmd_args << '--git-dir' 
+      cmd_args << '--git-dir'
       cmd_args << arvados_internal
 
       $stderr.puts "dispatch: #{cmd_args.join ' '}"

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list