diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2011-10-12 18:10:04 -0500 |
---|---|---|
committer | Paul J. Davis <paul.joseph.davis@gmail.com> | 2011-10-13 17:25:50 -0500 |
commit | d367c4bec22ad20807901c4b9c53b4fe4cd0fa59 (patch) | |
tree | 960fe7e8ee3261279a16ba1e23de7ecbb4ed4fb1 /rel/overlay | |
parent | 44ba06264f802128110d6ee388d4e7dbcd46a918 (diff) |
Improve remsh script
Cookies now default to using ~/.erlang.cookie which is automatically
generated if it does not exist when erlang starts with a name.
There is also no longer a need to specify a name to remsh as it'll
generate a name based on the process id and set the short or long
version appropriately.
Diffstat (limited to 'rel/overlay')
-rwxr-xr-x | rel/overlay/bin/remsh | 20 | ||||
-rw-r--r-- | rel/overlay/etc/vm.args | 13 |
2 files changed, 18 insertions, 15 deletions
diff --git a/rel/overlay/bin/remsh b/rel/overlay/bin/remsh index d6028b42..39955ae8 100755 --- a/rel/overlay/bin/remsh +++ b/rel/overlay/bin/remsh @@ -12,15 +12,16 @@ # License for the specific language governing permissions and limitations under # the License. -if test ! $1 ; then - echo "usage: $0 nodename" - exit 1 -fi +NAME="remsh$$" +REM_NODE="{{node_name}}" +NAME_TYPE=${REM_NODE% *} +REM_NODE=${REM_NODE#* } +HOST=`echo "$REM_NODE" | grep -o "@.*" | sed 's/@//'` -if test `echo $1 | sed 's/[^@]//g'`; then - NAME="-name $1" +if test -n $HOST; then + NAME="$NAME_TYPE $NAME@$HOST" else - NAME="-sname $1" + NAME="$NAME_TYPE $NAME" fi ERTS_BIN_DIR=$(cd ${0%/*} && pwd) @@ -33,9 +34,6 @@ 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" +COOKIE="{{cookie}}" exec $BINDIR/erl $NAME -remsh $REM_NODE $COOKIE -hidden -boot $START_CLEAN diff --git a/rel/overlay/etc/vm.args b/rel/overlay/etc/vm.args index bb143502..03e5af27 100644 --- a/rel/overlay/etc/vm.args +++ b/rel/overlay/etc/vm.args @@ -4,10 +4,15 @@ # with the -name flag. {{node_name}} -# All nodes must share the same magic cookie for distributed Erlang to work. -# Comment out this line if you synchronized the cookies by other means (using -# the ~/.erlang.cookie file, for example). --setcookie monster +# If you passed a value for the cookie to ./configure it will be set here. +# Otherwise it will default to using ~/.erlang.cookie which will be generated +# automatically if it doesn't exist. +# +# Note that you need to make sure that the cookie value used is synchronized +# across all nodes in the cluster. This means that if you don't set the +# cookie by hand you need to manually sync ~/.erlang.cookie across all nodes +# in the cluster. +{{cookie}} # Tell SASL not to log progress reports -sasl errlog_type error |