From 4727a3b6417bd254b3e8bca1bd19a77773493572 Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Tue, 29 Mar 2016 09:23:51 -0400 Subject: [PATCH] 8815: Crunch-job bind mounts crunchrunner binary and certificates from host. Updated arvbox to compile and install crunchrunner. --- crunch_scripts/crunchrunner | 2 +- sdk/cli/bin/crunch-job | 8 ++++++++ tools/arvbox/bin/arvbox | 11 +---------- tools/arvbox/lib/arvbox/docker/crunch-setup.sh | 3 ++- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/crunch_scripts/crunchrunner b/crunch_scripts/crunchrunner index 71c10c9b36..f192c48772 100755 --- a/crunch_scripts/crunchrunner +++ b/crunch_scripts/crunchrunner @@ -1,2 +1,2 @@ #!/bin/sh -exec $TASK_KEEPMOUNT/$JOB_PARAMETER_CRUNCHRUNNER +exec /usr/lib/crunchrunner/crunchrunner diff --git a/sdk/cli/bin/crunch-job b/sdk/cli/bin/crunch-job index 7c2855c5ea..88f9d561b4 100755 --- a/sdk/cli/bin/crunch-job +++ b/sdk/cli/bin/crunch-job @@ -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)_/) { diff --git a/tools/arvbox/bin/arvbox b/tools/arvbox/bin/arvbox index 88726a4683..e21db0dfea 100755 --- a/tools/arvbox/bin/arvbox +++ b/tools/arvbox/bin/arvbox @@ -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 \ diff --git a/tools/arvbox/lib/arvbox/docker/crunch-setup.sh b/tools/arvbox/lib/arvbox/docker/crunch-setup.sh index 178fec1759..a3397c109d 100755 --- a/tools/arvbox/lib/arvbox/docker/crunch-setup.sh +++ b/tools/arvbox/lib/arvbox/docker/crunch-setup.sh @@ -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 -- 2.30.2