X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/1441208182ced30e28f05611fbfa51674570dd1e..56ad9292e87e1539f2ea8f0c1fda77ff826604f3:/tools/arvbox/bin/arvbox?ds=sidebyside diff --git a/tools/arvbox/bin/arvbox b/tools/arvbox/bin/arvbox index 36a33376a1..13583ba288 100755 --- a/tools/arvbox/bin/arvbox +++ b/tools/arvbox/bin/arvbox @@ -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= @@ -72,7 +60,6 @@ NPMCACHE="$ARVBOX_DATA/npm" GOSTUFF="$ARVBOX_DATA/gopath" RLIBS="$ARVBOX_DATA/Rlibs" ARVADOS_CONTAINER_PATH="/var/lib/arvados-arvbox" -GEM_HOME="/var/lib/arvados/lib/ruby/gems/2.7.0" getip() { docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $ARVBOX_CONTAINER @@ -139,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:$GEM_HOME: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" \ @@ -238,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 \ @@ -258,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 @@ -295,7 +272,6 @@ run() { -e COLUMNS=$(tput cols) \ -e TERM=$TERM \ -e WORKSPACE=/usr/src/arvados \ - -e GEM_HOME=$GEM_HOME \ -e CONFIGSRC=$ARVADOS_CONTAINER_PATH/run_tests \ $ARVBOX_CONTAINER \ /usr/local/lib/arvbox/runsu.sh \ @@ -400,6 +376,9 @@ build() { fi set -e + # Get the go version we should use for bootstrapping + GO_VERSION=`grep 'const goversion =' $LOCAL_ARVADOS_ROOT/lib/install/deps.go |awk -F'"' '{print $2}'` + if test "$1" = localdemo -o "$1" = publicdemo ; then BUILDTYPE=demo else @@ -411,16 +390,16 @@ build() { fi 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" \ "$LOCAL_ARVADOS_ROOT" docker tag $FORCE arvados/arvbox-base:$GITHEAD arvados/arvbox-base:latest 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" @@ -437,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" @@ -464,7 +451,6 @@ case "$subcmd" in -e LINES=$(tput lines) \ -e COLUMNS=$(tput cols) \ -e TERM=$TERM \ - -e GEM_HOME=$GEM_HOME \ $ARVBOX_CONTAINER /bin/bash ;; @@ -473,14 +459,13 @@ case "$subcmd" in -e LINES=$(tput lines) \ -e COLUMNS=$(tput cols) \ -e TERM=$TERM \ - -e GEM_HOME=$GEM_HOME \ -u arvbox \ -w /usr/src/arvados \ $ARVBOX_CONTAINER /bin/bash --login ;; pipe) - exec docker exec -i $ARVBOX_CONTAINER /usr/bin/env GEM_HOME=$GEM_HOME /bin/bash - + exec docker exec -i $ARVBOX_CONTAINER /usr/bin/env /bin/bash - ;; stop) @@ -612,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" @@ -645,7 +628,7 @@ case "$subcmd" in ;; hotreset) - exec docker exec -i $ARVBOX_CONTAINER /usr/bin/env GEM_HOME=$GEM_HOME /bin/bash - <