summaryrefslogtreecommitdiff
path: root/rel
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2011-10-11 22:06:58 -0500
committerPaul J. Davis <paul.joseph.davis@gmail.com>2011-10-11 22:06:58 -0500
commit44ba06264f802128110d6ee388d4e7dbcd46a918 (patch)
treee99238330984d7969616853e283bc2205fc99fb3 /rel
parent6947cab38a20986e71b170d345682be9657cda1b (diff)
Add a remsh command to BigCouch
The remsh pattern is quite useful for connecting to running nodes for debugging production issues. This adds a small script that lets users connect quickly to a running node.
Diffstat (limited to 'rel')
-rwxr-xr-xrel/overlay/bin/remsh41
-rw-r--r--rel/reltool.config1
2 files changed, 42 insertions, 0 deletions
diff --git a/rel/overlay/bin/remsh b/rel/overlay/bin/remsh
new file mode 100755
index 00000000..d6028b42
--- /dev/null
+++ b/rel/overlay/bin/remsh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+if test ! $1 ; then
+ echo "usage: $0 nodename"
+ exit 1
+fi
+
+if test `echo $1 | sed 's/[^@]//g'`; then
+ NAME="-name $1"
+else
+ NAME="-sname $1"
+fi
+
+ERTS_BIN_DIR=$(cd ${0%/*} && pwd)
+ROOTDIR=${ERTS_BIN_DIR%/*}
+
+START_ERL=`cat $ROOTDIR/releases/start_erl.data`
+ERTS_VSN=${START_ERL% *}
+APP_VSN=${START_ERL#* }
+START_CLEAN="${ROOTDIR}/releases/${APP_VSN}/start_clean"
+
+BINDIR=$ROOTDIR/erts-$ERTS_VSN/bin
+
+REM_NODE="{{node_name}}"
+REM_NODE=${REM_NODE#* }
+
+COOKIE="-setcookie monster"
+
+exec $BINDIR/erl $NAME -remsh $REM_NODE $COOKIE -hidden -boot $START_CLEAN
diff --git a/rel/reltool.config b/rel/reltool.config
index d8403865..ccca5aed 100644
--- a/rel/reltool.config
+++ b/rel/reltool.config
@@ -57,6 +57,7 @@
{copy, "overlay/share"},
{copy, "../couchjs/build/couchjs", "bin/couchjs"},
{copy, "../couchjs/build/main.js", "share/couchjs/main.js"},
+ {template, "overlay/bin/remsh", "bin/remsh"},
{template, "overlay/etc/default.ini", "etc/default.ini"},
{template, "overlay/etc/vm.args", "etc/vm.args"}
]}.