[ARVADOS-DEV] updated: b6bd09f01642d2ad2dc33259a2382615daadf059

git at public.curoverse.com git at public.curoverse.com
Thu Jan 7 14:03:05 EST 2016


Summary of changes:
 arvbox/bin/arvbox                                  | 144 +++++++++++++--------
 .../arvbox/docker/{Dockerfile => Dockerfile.base}  |  14 +-
 arvbox/lib/arvbox/docker/Dockerfile.demo           |  16 +++
 arvbox/lib/arvbox/docker/Dockerfile.dev            |  15 +++
 arvbox/lib/arvbox/docker/createusers.sh            |   3 +
 arvbox/lib/arvbox/docker/crunch-setup.sh           |   3 -
 arvbox/lib/arvbox/docker/service/api/run-service   |  20 ++-
 arvbox/lib/arvbox/docker/service/doc/run-service   |  10 +-
 arvbox/lib/arvbox/docker/service/postgres/run      |  21 ++-
 .../lib/arvbox/docker/service/postgres/run-service |   2 +-
 arvbox/lib/arvbox/docker/service/ready/run-service |   8 +-
 arvbox/lib/arvbox/docker/service/runsu.sh          |   4 +-
 arvbox/lib/arvbox/docker/service/sso/run-service   |  17 ++-
 arvbox/lib/arvbox/docker/service/vm/run-service    |  10 +-
 arvbox/lib/arvbox/docker/service/workbench/run     |   8 +-
 .../arvbox/docker/service/workbench/run-service    |  13 +-
 16 files changed, 209 insertions(+), 99 deletions(-)
 rename arvbox/lib/arvbox/docker/{Dockerfile => Dockerfile.base} (56%)
 create mode 100644 arvbox/lib/arvbox/docker/Dockerfile.demo
 create mode 100644 arvbox/lib/arvbox/docker/Dockerfile.dev

       via  b6bd09f01642d2ad2dc33259a2382615daadf059 (commit)
      from  dbd9987ed8c1514938216504d8ee1f13282f82c3 (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 b6bd09f01642d2ad2dc33259a2382615daadf059
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date:   Thu Jan 7 14:03:01 2016 -0500

    8080: Refactor to base image and dev or demo images.  Working on support for a
    "demo" image that comes with everything packed in.

diff --git a/arvbox/bin/arvbox b/arvbox/bin/arvbox
index e90dce1..57c0905 100755
--- a/arvbox/bin/arvbox
+++ b/arvbox/bin/arvbox
@@ -38,54 +38,63 @@ GEMS=$ARVBOX_DATA/gems
 mkdir -p $PG_DATA $VAR_DATA $PASSENGER $GEMS
 
 run() {
-    if ! test -d $ARVADOS_ROOT ; then
-        git clone https://github.com/curoverse/arvados.git $ARVADOS_ROOT
-    fi
-    if ! test -d $SSO_ROOT ; then
-        git clone https://github.com/curoverse/sso-devise-omniauth-provider.git $SSO_ROOT
-    fi
-
-    if test "$1" = testing ; then
-        docker run \
-               --detach \
-               --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 \
-               --volume=$PASSENGER:/var/lib/passenger:rw \
-               --volume=$GEMS:/var/lib/gems:rw \
-               --volume=/var/lib/docker \
-               arvados/arvbox \
-               runsvdir /etc/tests-service
+    if test "$1" = demo ; then
+        if docker ps -a --filter "status=exited" |grep -E "$ARVBOX_CONTAINER$" -q ; then
+            docker start $ARVBOX_CONTAINER
+        else
+            docker run \
+                   --name=$ARVBOX_CONTAINER \
+                   --privileged \
+                   arvados/arvbox-demo
+        fi
     else
-        docker run \
-               --detach \
-               --name=$ARVBOX_CONTAINER \
-               --privileged \
-               --volume=$ARVADOS_ROOT:/usr/src/arvados:rw \
-               --volume=$SSO_ROOT:/usr/src/sso:rw \
-               --volume=$PG_DATA:/var/lib/postgresql:rw \
-               --volume=$VAR_DATA:/var/lib/arvados:rw \
-               --volume=$PASSENGER:/var/lib/passenger:rw \
-               --volume=$GEMS:/var/lib/gems:rw \
-               --volume=/var/lib/docker \
-               arvados/arvbox
-        FF=/tmp/arvbox-fifo-$$
-        mkfifo $FF
-        docker logs -f $ARVBOX_CONTAINER > $FF &
-        LOGPID=$!
-        while read line ; do
-            echo $line
-            if echo $line | grep "Workbench is running at" >/dev/null ; then
-                kill $LOGPID
-            fi
-        done < $FF
-        rm $FF
-        echo
-        echo "The Arvados source code is checked out at: $ARVADOS_ROOT"
+        if ! test -d $ARVADOS_ROOT ; then
+            git clone https://github.com/curoverse/arvados.git $ARVADOS_ROOT
+        fi
+        if ! test -d $SSO_ROOT ; then
+            git clone https://github.com/curoverse/sso-devise-omniauth-provider.git $SSO_ROOT
+        fi
+
+        if test "$1" = testing ; then
+            docker run \
+                   --detach \
+                   --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 \
+                   --volume=$PASSENGER:/var/lib/passenger:rw \
+                   --volume=$GEMS:/var/lib/gems:rw \
+                   arvados/arvbox-dev \
+                   runsvdir /etc/tests-service
+        else
+            docker run \
+                   --detach \
+                   --name=$ARVBOX_CONTAINER \
+                   --privileged \
+                   --volume=$ARVADOS_ROOT:/usr/src/arvados:rw \
+                   --volume=$SSO_ROOT:/usr/src/sso:rw \
+                   --volume=$PG_DATA:/var/lib/postgresql:rw \
+                   --volume=$VAR_DATA:/var/lib/arvados:rw \
+                   --volume=$PASSENGER:/var/lib/passenger:rw \
+                   --volume=$GEMS:/var/lib/gems:rw \
+                   arvados/arvbox-dev
+            FF=/tmp/arvbox-fifo-$$
+            mkfifo $FF
+            docker logs -f $ARVBOX_CONTAINER > $FF &
+            LOGPID=$!
+            while read line ; do
+                echo $line
+                if echo $line | grep "Workbench is running at" >/dev/null ; then
+                    kill $LOGPID
+                fi
+            done < $FF
+            rm $FF
+            echo
+            echo "The Arvados source code is checked out at: $ARVADOS_ROOT"
+        fi
     fi
 }
 
@@ -93,18 +102,29 @@ stop() {
     if docker ps -a --filter "status=running" |grep -E "$ARVBOX_CONTAINER$" -q ; then
         docker stop $ARVBOX_CONTAINER
     fi
-    if docker ps -a --filter "status=exited" |grep -E "$ARVBOX_CONTAINER$" -q ; then
-        docker rm --volumes=true $ARVBOX_CONTAINER
+    if test "$1" != demo ; then
+        if docker ps -a --filter "status=exited" |grep -E "$ARVBOX_CONTAINER$" -q ; then
+            docker rm --volumes=true $ARVBOX_CONTAINER
+        fi
+    fi
+}
+
+build() {
+    docker build -t arvados/arvbox-base -f $ARVBOX_DOCKER/Dockerfile.base $ARVBOX_DOCKER
+    if test "$1" = demo ; then
+        docker build -t arvados/arvbox-demo -f $ARVBOX_DOCKER/Dockerfile.demo $ARVBOX_DOCKER
+    else
+        docker build -t arvados/arvbox-dev -f $ARVBOX_DOCKER/Dockerfile.dev $ARVBOX_DOCKER
     fi
 }
 
 case $1 in
     build)
-        docker build -t arvados/arvbox $ARVBOX_DOCKER
+        build $2
         ;;
 
     start|run)
-        run
+        run $2
         ;;
 
     sh*)
@@ -112,7 +132,7 @@ case $1 in
         ;;
 
     stop)
-        stop
+        stop $2
         ;;
 
     restart)
@@ -122,7 +142,7 @@ case $1 in
 
     reboot)
         stop
-        docker build -t arvados/arvbox $ARVBOX_DOCKER
+        build
         run
         ;;
 
@@ -180,6 +200,24 @@ case $1 in
         run testing
 
         shift
+
+        while ! docker exec -ti \
+                $ARVBOX_CONTAINER \
+                /etc/tests-service/runsu.sh \
+                psql -c'\du' ; do
+            sleep 1
+        done
+
+        docker exec -ti \
+               $ARVBOX_CONTAINER \
+               /etc/tests-service/runsu.sh \
+               /etc/service/sso/run-service --only-setup
+
+        docker exec -ti \
+               $ARVBOX_CONTAINER \
+               /etc/tests-service/runsu.sh \
+               /etc/service/api/run-service --only-setup
+
         docker exec -ti \
                $ARVBOX_CONTAINER \
                /etc/tests-service/runsu.sh \
diff --git a/arvbox/lib/arvbox/docker/Dockerfile b/arvbox/lib/arvbox/docker/Dockerfile.base
similarity index 56%
rename from arvbox/lib/arvbox/docker/Dockerfile
rename to arvbox/lib/arvbox/docker/Dockerfile.base
index 22ad5d2..9308d9c 100644
--- a/arvbox/lib/arvbox/docker/Dockerfile
+++ b/arvbox/lib/arvbox/docker/Dockerfile.base
@@ -9,16 +9,10 @@ RUN apt-get update && \
     libpython-dev fuse libfuse-dev python-pip \
     pkg-config libattr1-dev python-llfuse python-pycurl \
     libwww-perl libio-socket-ssl-perl libcrypt-ssleay-perl \
-    libjson-perl python-virtualenv python3-virtualenv nginx \
-    gitolite3 lsof python-epydoc linkchecker xvfb iceweasel graphviz
+    libjson-perl nginx gitolite3 lsof python-epydoc graphviz
 
 RUN curl -sSL https://get.docker.com/ | sh
-
-RUN set -e && \
- PJS=phantomjs-1.9.7-linux-x86_64 && \
- curl -L -o/tmp/$PJS.tar.bz2 https://bitbucket.org/ariya/phantomjs/downloads/$PJS.tar.bz2 && \
- tar -C /usr/local -xjf /tmp/$PJS.tar.bz2 && \
- ln -s ../$PJS/bin/phantomjs /usr/local/bin/
+VOLUME /var/lib/docker
 
 ADD runit-docker /root/runit-docker
 
@@ -30,9 +24,5 @@ ENV LD_PRELOAD /lib/runit-docker.so
 
 ADD fuse.conf /etc/
 
-ADD crunch-setup.sh gitolite-setup.sh gitolite.rc gitssh-setup.sh keep-setup.sh common.sh createusers.sh /usr/local/lib/arvbox/
-ADD service /etc/service
-ADD tests-service /etc/tests-service
-
 # Start the supervisor.
 CMD ["runsvdir", "/etc/service"]
diff --git a/arvbox/lib/arvbox/docker/Dockerfile.demo b/arvbox/lib/arvbox/docker/Dockerfile.demo
new file mode 100644
index 0000000..2ab772e
--- /dev/null
+++ b/arvbox/lib/arvbox/docker/Dockerfile.demo
@@ -0,0 +1,16 @@
+FROM arvados/arvbox-base
+
+RUN cd /usr/src && \
+    git clone https://github.com/curoverse/arvados.git && \
+    git clone https://github.com/curoverse/sso-devise-omniauth-provider.git sso
+
+ADD crunch-setup.sh gitolite-setup.sh gitolite.rc gitssh-setup.sh keep-setup.sh common.sh createusers.sh /usr/local/lib/arvbox/
+ADD service /etc/service
+
+RUN mkdir -p /var/lib/arvados
+RUN /etc/service/sso/run-service --only-deps
+RUN /etc/service/api/run-service --only-deps
+RUN /etc/service/workbench/run-service --only-deps
+RUN /etc/service/doc/run-service --only-deps
+RUN /etc/service/vm/run-service --only-deps
+RUN /etc/service/sdk/run-service
diff --git a/arvbox/lib/arvbox/docker/Dockerfile.dev b/arvbox/lib/arvbox/docker/Dockerfile.dev
new file mode 100644
index 0000000..cb2873b
--- /dev/null
+++ b/arvbox/lib/arvbox/docker/Dockerfile.dev
@@ -0,0 +1,15 @@
+FROM arvados/arvbox-base
+
+RUN apt-get update && \
+    DEBIAN_FRONTEND=noninteractive apt-get -yq install \
+    python-virtualenv python3-virtualenv linkchecker xvfb iceweasel
+
+RUN set -e && \
+ PJS=phantomjs-1.9.7-linux-x86_64 && \
+ curl -L -o/tmp/$PJS.tar.bz2 https://bitbucket.org/ariya/phantomjs/downloads/$PJS.tar.bz2 && \
+ tar -C /usr/local -xjf /tmp/$PJS.tar.bz2 && \
+ ln -s ../$PJS/bin/phantomjs /usr/local/bin/
+
+ADD crunch-setup.sh gitolite-setup.sh gitolite.rc gitssh-setup.sh keep-setup.sh common.sh createusers.sh /usr/local/lib/arvbox/
+ADD service /etc/service
+ADD tests-service /etc/tests-service
diff --git a/arvbox/lib/arvbox/docker/createusers.sh b/arvbox/lib/arvbox/docker/createusers.sh
index 25b1dd7..8d27990 100755
--- a/arvbox/lib/arvbox/docker/createusers.sh
+++ b/arvbox/lib/arvbox/docker/createusers.sh
@@ -33,4 +33,7 @@ if ! grep "^arvbox:" /etc/passwd >/dev/null 2>/dev/null ; then
     rm -r /var/log/nginx
     mkdir -p /var/log/nginx
     chown arvbox:arvbox -R /var/log/nginx
+
+    mkdir -p /tmp/crunch0 /tmp/crunch1
+    chown crunch:crunch -R /tmp/crunch0 /tmp/crunch1
 fi
diff --git a/arvbox/lib/arvbox/docker/crunch-setup.sh b/arvbox/lib/arvbox/docker/crunch-setup.sh
index c52b034..b6f5cda 100755
--- a/arvbox/lib/arvbox/docker/crunch-setup.sh
+++ b/arvbox/lib/arvbox/docker/crunch-setup.sh
@@ -14,9 +14,6 @@ ln -sfn "/usr/src/arvados" "$GOPATH/src/git.curoverse.com/arvados.git"
 go get -t "git.curoverse.com/arvados.git/services/crunchstat"
 install bin/crunchstat /usr/local/bin
 
-mkdir -p /tmp/$1
-chown crunch:crunch -R /tmp/$1
-
 export ARVADOS_API_HOST=$localip:3001
 export ARVADOS_API_HOST_INSECURE=1
 export ARVADOS_API_TOKEN=$(cat /usr/src/arvados/services/api/superuser_token)
diff --git a/arvbox/lib/arvbox/docker/service/api/run-service b/arvbox/lib/arvbox/docker/service/api/run-service
index b4ab386..6615736 100755
--- a/arvbox/lib/arvbox/docker/service/api/run-service
+++ b/arvbox/lib/arvbox/docker/service/api/run-service
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 exec 2>&1
-set -eux
+set -ex
 
 . /usr/local/lib/arvbox/common.sh
 
@@ -9,6 +9,13 @@ cd /usr/src/arvados/services/api
 export RAILS_ENV=development
 
 run_bundler --without=development
+bundle exec passenger start --runtime-check-only --runtime-dir=/var/lib/passenger
+
+if test "$1" = "--only-deps" ; then
+    exit
+fi
+
+set -u
 
 if ! test -s /var/lib/arvados/api_uuid_prefix ; then
     ruby -e 'puts "#{rand(2**64).to_s(36)[0,5]}"' > /var/lib/arvados/api_uuid_prefix
@@ -92,7 +99,12 @@ rm -rf tmp
 
 bundle exec rake db:migrate
 
+set +u
+if test "$1" = "--only-setup" ; then
+    exit
+fi
+
 ARVADOS_WEBSOCKETS=1 exec bundle exec passenger start --port=3001 \
-    --runtime-dir=/var/lib/passenger \
-    --ssl --ssl-certificate=/var/lib/arvados/self-signed.pem \
-    --ssl-certificate-key=/var/lib/arvados/self-signed.key
+                  --runtime-dir=/var/lib/passenger \
+                  --ssl --ssl-certificate=/var/lib/arvados/self-signed.pem \
+                  --ssl-certificate-key=/var/lib/arvados/self-signed.key
diff --git a/arvbox/lib/arvbox/docker/service/doc/run-service b/arvbox/lib/arvbox/docker/service/doc/run-service
index bb0f0e4..a64d5c8 100755
--- a/arvbox/lib/arvbox/docker/service/doc/run-service
+++ b/arvbox/lib/arvbox/docker/service/doc/run-service
@@ -1,11 +1,19 @@
 #!/bin/sh
 
 exec 2>&1
-set -eux
+set -ex
 
 . /usr/local/lib/arvbox/common.sh
 
 cd /usr/src/arvados/doc
 run_bundler --without=development
+
+if test "$1" = "--only-deps" ; then
+    exit
+fi
+
+set -u
+
 bundle exec rake generate baseurl=http://$localip:8000 arvados_api_host=$localip:3001 arvados_workbench_host=http://$localip
+
 exec bundle exec rake run
diff --git a/arvbox/lib/arvbox/docker/service/postgres/run b/arvbox/lib/arvbox/docker/service/postgres/run
index cf8250c..55d11a0 100755
--- a/arvbox/lib/arvbox/docker/service/postgres/run
+++ b/arvbox/lib/arvbox/docker/service/postgres/run
@@ -1,11 +1,18 @@
 #!/bin/sh
 
-HOSTUID=$(ls -nd /usr/src/arvados | sed 's/ */ /' | cut -d' ' -f4)
-HOSTGID=$(ls -nd /usr/src/arvados | sed 's/ */ /' | cut -d' ' -f5)
+flock /var/lib/arvados/createusers.lock /usr/local/lib/arvbox/createusers.sh
 
-chown -R $HOSTUID:$HOSTGID /var/lib/postgresql
-chown -R $HOSTUID:$HOSTGID /var/run/postgresql
-chown -R $HOSTUID:$HOSTGID /etc/postgresql
-chown -R $HOSTUID:$HOSTGID /etc/ssl/private
+if test $(id arvbox -u) = 0 ; then
+    USER=postgres
+    GROUP=postgres
+else
+    USER=arvbox
+    GROUP=arvbox
+fi
 
-exec chpst -u:$HOSTUID:$HOSTGID $0-service
+chown -R $USER:$GROUP /var/lib/postgresql
+chown -R $USER:$GROUP /var/run/postgresql
+chown -R $USER:$GROUP /etc/postgresql
+chown -R $USER:$GROUP /etc/ssl/private
+
+exec su $USER $0-service
diff --git a/arvbox/lib/arvbox/docker/service/postgres/run-service b/arvbox/lib/arvbox/docker/service/postgres/run-service
index 6f72ba6..0a67d6c 100755
--- a/arvbox/lib/arvbox/docker/service/postgres/run-service
+++ b/arvbox/lib/arvbox/docker/service/postgres/run-service
@@ -5,7 +5,7 @@ set -eux
 
 if ! test -d /var/lib/postgresql/9.4/main ; then
     /usr/lib/postgresql/9.4/bin/initdb -D /var/lib/postgresql/9.4/main
-    sh -c "while ! createdb ; do sleep 1 ; done" &
+    sh -c "while ! psql -c'\du' >/dev/null 2>/dev/null ; do createdb ; sleep 1 ; done" &
 fi
 mkdir -p /var/run/postgresql/9.4-main.pg_stat_tmp
 
diff --git a/arvbox/lib/arvbox/docker/service/ready/run-service b/arvbox/lib/arvbox/docker/service/ready/run-service
index e99570b..a26d47c 100755
--- a/arvbox/lib/arvbox/docker/service/ready/run-service
+++ b/arvbox/lib/arvbox/docker/service/ready/run-service
@@ -8,13 +8,13 @@ if ! [[ -d /tmp/arvbox-ready ]] ; then
    echo
    echo "Arvados-in-a-box starting"
    echo
-   echo "Note: if this is a fresh arvbox installation, it may take 10-15 minutes to download and"
+   echo "Note: if this is a fresh arvbox installation, it may take 10-15 minutes (or longer) to download and"
    echo "install dependencies.  Use \"arvbox log\" to monitor the progress of specific services."
    echo
    mkdir -p /tmp/arvbox-ready
 fi
 
-sleep 2
+sleep 3
 
 declare -A services
 services=(
@@ -56,6 +56,10 @@ elif ! which arv-get >/dev/null ; then
   waiting="$waiting sdk"
 fi
 
+if ! (ps x | grep -v grep | grep "crunch-dispatch") > /dev/null ; then
+    waiting="$waiting crunch-dispatch"
+fi
+
 if ! [[ -z "$waiting" ]] ; then
     if ps x | grep -v grep | grep "bundle install" > /dev/null; then
         gemcount=$(ls /var/lib/gems/ruby/2.1.0/gems 2>/dev/null | wc -l)
diff --git a/arvbox/lib/arvbox/docker/service/runsu.sh b/arvbox/lib/arvbox/docker/service/runsu.sh
index 329067f..32eccdf 100755
--- a/arvbox/lib/arvbox/docker/service/runsu.sh
+++ b/arvbox/lib/arvbox/docker/service/runsu.sh
@@ -8,7 +8,7 @@ flock /var/lib/arvados/createusers.lock /usr/local/lib/arvbox/createusers.sh
 export HOME=/var/lib/arvados
 
 if test -z "$1" ; then
-    exec su arvbox -c -- "exec $0-service"
+    exec sudo -u arvbox -- $0-service
 else
-    exec su arvbox --shell /bin/bash -- $@
+    exec sudo -u arvbox -- $@
 fi
diff --git a/arvbox/lib/arvbox/docker/service/sso/run-service b/arvbox/lib/arvbox/docker/service/sso/run-service
index 26defa7..29951f5 100755
--- a/arvbox/lib/arvbox/docker/service/sso/run-service
+++ b/arvbox/lib/arvbox/docker/service/sso/run-service
@@ -1,15 +1,21 @@
 #!/bin/sh
 
 exec 2>&1
-set -eux
+set -ex
 
 . /usr/local/lib/arvbox/common.sh
 
 cd /usr/src/sso
 export RAILS_ENV=development
-export GEM_HOME=/var/lib/gems
 
 run_bundler --without=development
+bundle exec passenger start --runtime-check-only --runtime-dir=/var/lib/passenger
+
+if test "$1" = "--only-deps" ; then
+    exit
+fi
+
+set -u
 
 if ! test -s /var/lib/arvados/sso_uuid_prefix ; then
   ruby -e 'puts "#{rand(2**64).to_s(36)[0,5]}"' > /var/lib/arvados/sso_uuid_prefix
@@ -84,7 +90,12 @@ fi
 rm -rf tmp
 
 bundle exec rake db:migrate
-export HOME=/var/lib/passenger
+
+set +u
+if test "$1" = "--only-setup" ; then
+    exit
+fi
+
 exec bundle exec passenger start --port=3002 \
      --runtime-dir=/var/lib/passenger \
      --ssl --ssl-certificate=/var/lib/arvados/self-signed.pem \
diff --git a/arvbox/lib/arvbox/docker/service/vm/run-service b/arvbox/lib/arvbox/docker/service/vm/run-service
index f6844d8..9b894ff 100755
--- a/arvbox/lib/arvbox/docker/service/vm/run-service
+++ b/arvbox/lib/arvbox/docker/service/vm/run-service
@@ -6,6 +6,13 @@ set -eux
 
 . /usr/local/lib/arvbox/common.sh
 
+cd /usr/src/arvados/services/login-sync
+run_bundler
+
+if test "$1" = "--only-deps" ; then
+    exit
+fi
+
 git config --system "credential.http://$localip:9001/.username" none
 git config --system "credential.http://$localip:9001/.helper" '!cred(){ cat >/dev/null; if [ "$1" = get ]; then echo password=$ARVADOS_API_TOKEN; fi; };cred'
 
@@ -37,9 +44,6 @@ fi
 
 export ARVADOS_VIRTUAL_MACHINE_UUID
 
-cd /usr/src/arvados/services/login-sync
-run_bundler
-
 while true ; do
       bundle exec arvados-login-sync
       sleep 120
diff --git a/arvbox/lib/arvbox/docker/service/workbench/run b/arvbox/lib/arvbox/docker/service/workbench/run
index 665d848..f121ce7 100755
--- a/arvbox/lib/arvbox/docker/service/workbench/run
+++ b/arvbox/lib/arvbox/docker/service/workbench/run
@@ -1,7 +1,7 @@
 #!/bin/sh
 set -e
 
-/etc/service/runsu.sh $0-service
+/etc/service/runsu.sh $0-service $1
 
 cd /usr/src/arvados/apps/workbench
 
@@ -9,5 +9,7 @@ rm -rf tmp
 mkdir tmp
 chown arvbox:arvbox tmp
 
-exec bundle exec passenger start --port 80 \
-     --user arvbox --runtime-dir=/var/lib/passenger
+if test "$1" != "--only-deps" ; then
+    exec bundle exec passenger start --port 80 \
+         --user arvbox --runtime-dir=/var/lib/passenger
+fi
diff --git a/arvbox/lib/arvbox/docker/service/workbench/run-service b/arvbox/lib/arvbox/docker/service/workbench/run-service
index 359f1e9..dadd989 100755
--- a/arvbox/lib/arvbox/docker/service/workbench/run-service
+++ b/arvbox/lib/arvbox/docker/service/workbench/run-service
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 exec 2>&1
-set -eux
+set -ex
 
 .  /usr/local/lib/arvbox/common.sh
 
@@ -10,6 +10,13 @@ export RAILS_ENV=development
 export GEM_HOME=/var/lib/gems
 
 run_bundler --without=development
+bundle exec passenger start --runtime-check-only --runtime-dir=/var/lib/passenger
+
+if test "$1" = "--only-deps" ; then
+    exit
+fi
+
+set -u
 
 if ! test -s /var/lib/arvados/workbench_secret_token ; then
   ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/workbench_secret_token
@@ -30,7 +37,3 @@ common:
   keep_web_url: http://$localip:25099/c=%{uuid_or_pdh}
   arvados_docsite: http://$localip:8000/
 EOF
-
-#bundle exec passenger start -p443 --ssl --ssl-certificate=self-signed.pem --ssl-certificate-key=self-signed.key
-
-bundle exec passenger start --runtime-check-only --runtime-dir=/var/lib/passenger

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list