Merge branch '21666-provision-test-improvement'
[arvados.git] / tools / arvbox / bin / arvbox
index e7d03677eac190a3b4f6cb10a056973811765366..13583ba288eeae87d580bbafa577365bb38deafd 100755 (executable)
@@ -44,22 +44,10 @@ if test -z "$ARVADOS_ROOT" ; then
     ARVADOS_ROOT="$ARVBOX_DATA/arvados"
 fi
 
-if test -z "$COMPOSER_ROOT" ; then
-    COMPOSER_ROOT="$ARVBOX_DATA/composer"
-fi
-
-if test -z "$WORKBENCH2_ROOT" ; then
-    WORKBENCH2_ROOT="$ARVBOX_DATA/workbench2"
-fi
-
 if test -z "$ARVADOS_BRANCH" ; then
     ARVADOS_BRANCH=main
 fi
 
-if test -z "$WORKBENCH2_BRANCH" ; then
-    WORKBENCH2_BRANCH=main
-fi
-
 # Update this to the docker tag for the version on releases.
 DEFAULT_TAG=
 
@@ -138,12 +126,10 @@ wait_for_arvbox() {
 docker_run_dev() {
     docker run \
            "--volume=$ARVADOS_ROOT:/usr/src/arvados:rw" \
-           "--volume=$COMPOSER_ROOT:/usr/src/composer:rw" \
-           "--volume=$WORKBENCH2_ROOT:/usr/src/workbench2:rw" \
            "--volume=$PG_DATA:/var/lib/postgresql:rw" \
            "--volume=$VAR_DATA:$ARVADOS_CONTAINER_PATH:rw" \
            "--volume=$PASSENGER:/var/lib/passenger:rw" \
-          "--volume=$GEMS:/var/lib/arvados/lib/ruby/gems:rw" \
+          "--volume=$GEMS:/var/lib/arvados-arvbox/.gem:rw" \
            "--volume=$PIPCACHE:/var/lib/pip:rw" \
            "--volume=$NPMCACHE:/var/lib/npm:rw" \
            "--volume=$GOSTUFF:/var/lib/gopath:rw" \
@@ -237,7 +223,7 @@ run() {
         fi
 
         if ! (docker ps -a | grep -E "$ARVBOX_CONTAINER-data$" -q) ; then
-            docker create -v /var/lib/postgresql -v $ARVADOS_CONTAINER_PATH --name $ARVBOX_CONTAINER-data arvados/arvbox-demo /bin/true
+            docker create -v /var/lib/postgresql -v $ARVADOS_CONTAINER_PATH --name $ARVBOX_CONTAINER-data arvados/arvbox-demo$TAG /bin/true
         fi
 
         docker run \
@@ -257,14 +243,6 @@ run() {
             git clone https://git.arvados.org/arvados.git "$ARVADOS_ROOT"
            git -C "$ARVADOS_ROOT" checkout $ARVADOS_BRANCH
         fi
-        if ! test -d "$COMPOSER_ROOT" ; then
-            git clone https://github.com/arvados/composer.git "$COMPOSER_ROOT"
-            git -C "$COMPOSER_ROOT" checkout arvados-fork
-        fi
-        if ! test -d "$WORKBENCH2_ROOT" ; then
-            git clone https://git.arvados.org/arvados-workbench2.git "$WORKBENCH2_ROOT"
-           git -C "$ARVADOS_ROOT" checkout $WORKBENCH2_BRANCH
-        fi
 
         if [[ "$CONFIG" = test ]] ; then
 
@@ -414,7 +392,6 @@ build() {
     docker build --build-arg=BUILDTYPE=$BUILDTYPE $NO_CACHE \
           --build-arg=go_version=$GO_VERSION \
           --build-arg=arvados_version=$ARVADOS_BRANCH \
-          --build-arg=workbench2_version=$WORKBENCH2_BRANCH \
           --build-arg=workdir=/tools/arvbox/lib/arvbox/docker \
           -t arvados/arvbox-base:$GITHEAD \
           -f "$ARVBOX_DOCKER/Dockerfile.base" \
@@ -423,7 +400,6 @@ build() {
     docker build $NO_CACHE \
           --build-arg=go_version=$GO_VERSION \
           --build-arg=arvados_version=$ARVADOS_BRANCH \
-          --build-arg=workbench2_version=$WORKBENCH2_BRANCH \
           -t arvados/arvbox-$BUILDTYPE:$GITHEAD \
           -f "$ARVBOX_DOCKER/Dockerfile.$BUILDTYPE" \
           "$ARVBOX_DOCKER"
@@ -440,6 +416,14 @@ check() {
             exit 1
         ;;
     esac
+
+    user_watches=$(/usr/sbin/sysctl fs.inotify.max_user_watches)
+    [[ $user_watches =~ fs.inotify.max_user_watches\ =\ ([0-9]+) ]] && value=${BASH_REMATCH[1]}
+    if [[ "$value" -lt 256000 ]] ; then
+       echo "Not enough file system listeners ($value), to fix this run:"
+       echo "sudo sh -c 'echo fs.inotify.max_user_watches=524288 >> /etc/sysctl.d/local.conf && sysctl --system'"
+       exit 1
+    fi
 }
 
 subcmd="$1"
@@ -613,8 +597,6 @@ case "$subcmd" in
                "$ARVBOX_BASE/$1/gopath" \
                "$ARVBOX_BASE/$1/Rlibs" \
                "$ARVBOX_BASE/$1/arvados" \
-               "$ARVBOX_BASE/$1/composer" \
-               "$ARVBOX_BASE/$1/workbench2" \
                "$ARVBOX_BASE/$2"
             echo "Created new arvbox $2"
             echo "export ARVBOX_CONTAINER=$2"
@@ -656,6 +638,8 @@ sv stop keepproxy
 cd /usr/src/arvados/services/api
 export DISABLE_DATABASE_ENVIRONMENT_CHECK=1
 export RAILS_ENV=development
+export GEM_HOME=/var/lib/arvados-arvbox/.gem
+env
 bin/bundle exec rake db:drop
 rm $ARVADOS_CONTAINER_PATH/api_database_setup
 rm $ARVADOS_CONTAINER_PATH/superuser_token