8815: Crunch-job bind mounts crunchrunner binary and certificates from host.
authorPeter Amstutz <peter.amstutz@curoverse.com>
Tue, 29 Mar 2016 13:23:51 +0000 (09:23 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Tue, 29 Mar 2016 13:23:51 +0000 (09:23 -0400)
Updated arvbox to compile and install crunchrunner.

crunch_scripts/crunchrunner
sdk/cli/bin/crunch-job
tools/arvbox/bin/arvbox
tools/arvbox/lib/arvbox/docker/crunch-setup.sh

index 71c10c9b3613bae0c98540c631bd575d7324a0f2..f192c48772dd545c7a2f9201b612fed9c65c7cdc 100755 (executable)
@@ -1,2 +1,2 @@
 #!/bin/sh
-exec $TASK_KEEPMOUNT/$JOB_PARAMETER_CRUNCHRUNNER
+exec /usr/lib/crunchrunner/crunchrunner
index 7c2855c5ea72829d0e8a8cd73a849b6feaa44c56..88f9d561b46c41b4f31ea2efc1cfc225869e453b 100755 (executable)
@@ -109,6 +109,9 @@ unless (defined $ENV{"CRUNCH_TMP"}) {
   }
 }
 
+$ENV{"HOST_CRUNCHRUNNER_BIN"} ||= `which crunchrunner`;
+$ENV{"HOST_CERTS"} ||= "/etc/ssl/certs/ca-certificates.crt";
+
 # Create the tmp directory if it does not exist
 if ( ! -d $ENV{"CRUNCH_TMP"} ) {
   make_path $ENV{"CRUNCH_TMP"} or die "Failed to create temporary working directory: " . $ENV{"CRUNCH_TMP"};
@@ -917,6 +920,11 @@ for (my $todo_ptr = 0; $todo_ptr <= $#jobstep_todo; $todo_ptr ++)
       # For now, use the same approach as TASK_WORK above.
       $ENV{"JOB_WORK"} = "/tmp/crunch-job-work";
 
+      # Bind mount the crunchrunner binary and host TLS certificates file into
+      # the container.
+      $command .= "--volume=\Q$ENV{HOST_CRUNCHRUNNER_BIN}:/usr/lib/crunchrunner/crunchrunner\E ";
+      $command .= "--volume=\Q$ENV{HOST_CERTS}:/usr/lib/crunchrunner/ca-certificates.crt\E ";
+
       while (my ($env_key, $env_val) = each %ENV)
       {
         if ($env_key =~ /^(ARVADOS|CRUNCH|JOB|TASK)_/) {
index 88726a46836e636dd895288d9244e15be34b8515..e21db0dfea7332b462d9ad841e0faa6cf5f9bf38 100755 (executable)
@@ -39,10 +39,6 @@ if test -z "$ARVADOS_ROOT" ; then
     ARVADOS_ROOT="$ARVBOX_DATA/arvados"
 fi
 
-if test -z "$ARVADOS_DEV_ROOT" ; then
-    ARVADOS_DEV_ROOT="$ARVBOX_DATA/arvados-dev"
-fi
-
 if test -z "$SSO_ROOT" ; then
     SSO_ROOT="$ARVBOX_DATA/sso-devise-omniauth-provider"
 fi
@@ -165,10 +161,6 @@ run() {
         if test "$1" = test ; then
             shift
 
-            if ! test -d "$ARVADOS_DEV_ROOT" ; then
-                git clone https://github.com/curoverse/arvados-dev.git "$ARVADOS_DEV_ROOT"
-            fi
-
             mkdir -p $VAR_DATA/test
 
             docker run \
@@ -176,7 +168,6 @@ run() {
                    --name=$ARVBOX_CONTAINER \
                    --privileged \
                    "--volume=$ARVADOS_ROOT:/usr/src/arvados:rw" \
-                   "--volume=$ARVADOS_DEV_ROOT:/usr/src/arvados-dev:rw" \
                    "--volume=$SSO_ROOT:/usr/src/sso:rw" \
                    "--volume=$PG_DATA:/var/lib/postgresql:rw" \
                    "--volume=$VAR_DATA:/var/lib/arvados:rw" \
@@ -203,7 +194,7 @@ run() {
             docker exec -ti \
                    $ARVBOX_CONTAINER \
                    /usr/local/lib/arvbox/runsu.sh \
-                   /usr/src/arvados-dev/jenkins/run-tests.sh \
+                   /usr/src/arvados/build/run-tests.sh \
                    --temp /var/lib/arvados/test \
                    WORKSPACE=/usr/src/arvados \
                    GEM_HOME=/var/lib/gems \
index 178fec175945ed2095341b5400f294f71052f8a1..a3397c109d41b7bd6af75c5a2a157debb30fa2fe 100755 (executable)
@@ -12,7 +12,8 @@ export GOPATH=$PWD
 mkdir -p "$GOPATH/src/git.curoverse.com"
 ln -sfn "/usr/src/arvados" "$GOPATH/src/git.curoverse.com/arvados.git"
 flock /var/lib/arvados/gostuff.lock go get -t "git.curoverse.com/arvados.git/services/crunchstat"
-install bin/crunchstat /usr/local/bin
+flock /var/lib/arvados/gostuff.lock go get -t "git.curoverse.com/arvados.git/sdk/go/crunchrunner"
+install bin/crunchstat bin/crunchrunner /usr/local/bin
 
 export ARVADOS_API_HOST=$localip:${services[api]}
 export ARVADOS_API_HOST_INSECURE=1