From: Peter Amstutz Date: Mon, 7 Feb 2022 16:07:22 +0000 (-0500) Subject: 18657: Only get lock on gem install / bundle install X-Git-Tag: 2.4.0~94^2~5 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/8323dcbfe4833a0303286991dc64cdb0b0c0fa60 18657: Only get lock on gem install / bundle install Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- diff --git a/tools/arvbox/lib/arvbox/docker/common.sh b/tools/arvbox/lib/arvbox/docker/common.sh index 54379a5ed3..3ad82b3f88 100644 --- a/tools/arvbox/lib/arvbox/docker/common.sh +++ b/tools/arvbox/lib/arvbox/docker/common.sh @@ -62,7 +62,8 @@ else fi run_bundler() { - /var/lib/arvados/bin/gem install --no-document bundler:$BUNDLER_VERSION + GEMLOCK=/var/lib/arvados/lib/ruby/gems/gems.lock + flock $GEMLOCK /var/lib/arvados/bin/gem install --no-document bundler:$BUNDLER_VERSION if test -f Gemfile.lock ; then frozen=--frozen else @@ -73,8 +74,8 @@ run_bundler() { # If present, use the one associated with rails workbench or API BUNDLER=$PWD/bin/bundle fi - if ! $BUNDLER install --verbose --local --no-deployment $frozen "$@" ; then - $BUNDLER install --verbose --no-deployment $frozen "$@" + if ! flock $GEMLOCK $BUNDLER install --verbose --local --no-deployment $frozen "$@" ; then + flock $GEMLOCK $BUNDLER install --verbose --no-deployment $frozen "$@" fi } diff --git a/tools/arvbox/lib/arvbox/docker/service/sdk/run-service b/tools/arvbox/lib/arvbox/docker/service/sdk/run-service index d98afe823e..c5bf852ab2 100755 --- a/tools/arvbox/lib/arvbox/docker/service/sdk/run-service +++ b/tools/arvbox/lib/arvbox/docker/service/sdk/run-service @@ -15,8 +15,8 @@ download_cache = /var/lib/pip EOF cd /usr/src/arvados/sdk/cli -run_bundler --binstubs -ln -sf /usr/src/arvados/sdk/cli/bin/arv /usr/local/bin/arv +run_bundler --binstubs=binstubs +ln -sf /usr/src/arvados/sdk/cli/binstubs/arv /usr/local/bin/arv export PYCMD=python3