summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgarren smith <garren.smith@gmail.com>2019-12-16 15:25:22 +0200
committerGitHub <noreply@github.com>2019-12-16 15:25:22 +0200
commitf39bced6270093996cf4d139d5b672693193d229 (patch)
tree73621bc4d2e864b9c6bd43ec1d084735454643b2
parent7c8bdb9a5decb2cd55b60e47b97340eb8ef29cfa (diff)
parent4a88f3a3fc22573c024b1721a6b4e812a137996a (diff)
downloadcouchdb-change-elixir-tests-n-1.tar.gz
Merge branch 'master' into change-elixir-tests-n-1change-elixir-tests-n-1
-rwxr-xr-xrel/overlay/bin/remsh18
1 files changed, 16 insertions, 2 deletions
diff --git a/rel/overlay/bin/remsh b/rel/overlay/bin/remsh
index 963c16a10..2ac421b07 100755
--- a/rel/overlay/bin/remsh
+++ b/rel/overlay/bin/remsh
@@ -23,8 +23,18 @@ BINDIR=$ROOTDIR/erts-$ERTS_VSN/bin
PROGNAME=${0##*/}
VERBOSE=""
NODE="couchdb@127.0.0.1"
-COOKIE=monster
LHOST=127.0.0.1
+VM_ARGS=$COUCHDB_BIN_DIR/../etc/vm.args
+
+# If present, extract cookie from ERL_FLAGS
+# This is used by the CouchDB Dockerfile and Helm chart
+COOKIE=$(echo "$ERL_FLAGS" | sed 's/^.*setcookie \([^ ][^ ]*\).*$/\1/g')
+if test -f "$VM_ARGS"; then
+# else attempt to extract from vm.args
+ VM_ARGS_COOKIE=$(awk '$1=="-setcookie"{print $2}' "$VM_ARGS")
+ COOKIE="${COOKIE:-$VM_ARGS_COOKIE}"
+fi
+COOKIE="${COOKIE:-monster}"
printHelpAndExit() {
echo "Usage: ${PROGNAME} [OPTION]... [-- <additional Erlang cli options>]"
@@ -71,6 +81,10 @@ if [ ! -z "$VERBOSE" ]; then
set -x
fi
-exec "$BINDIR/erl" -boot "$ROOTDIR/releases/$APP_VSN/start_clean" \
+# If present, strip -name or -setcookie from ERL_FLAGS
+# to avoid conflicts with the cli parameters
+ERL_FLAGS_CLEAN=$(echo "$ERL_FLAGS" | sed 's/-setcookie \([^ ][^ ]*\)//g' | sed 's/-name \([^ ][^ ]*\)//g')
+
+exec env ERL_FLAGS="$ERL_FLAGS_CLEAN" "$BINDIR/erl" -boot "$ROOTDIR/releases/$APP_VSN/start_clean" \
-name remsh$$@$LHOST -remsh $NODE -hidden -setcookie $COOKIE \
"$@"