5
5
# Identify the script name
6
6
SCRIPT=" riak-admin"
7
7
8
- RPC_HOP=" {{platform_bin_dir}}/riak rpc"
8
+ PLATFORM_BASE_DIR={{platform_base_dir}}
9
+ PLATFORM_BASE_DIR=${PLATFORM_BASE_DIR:- $(cd $(dirname " $0 " )/ .. && pwd -P)}
10
+ RPC_HOP=" ${PLATFORM_BASE_DIR} /bin/riak rpc"
11
+ RPCt_HOP=" ${PLATFORM_BASE_DIR} /bin/riak rpcterms"
12
+
13
+ PLATFORM_ETC_DIR={{platform_etc_dir}}
14
+ if [ " $PLATFORM_ETC_DIR " = " ${PLATFORM_ETC_DIR#/ } " ]; then
15
+ PLATFORM_ETC_DIR=$PLATFORM_BASE_DIR /$PLATFORM_ETC_DIR
16
+ fi
17
+
18
+ PLATFORM_PATCH_DIR={{platform_patch_dir}}
19
+ if [ " $PLATFORM_PATCH_DIR " = " ${PLATFORM_PATCH_DIR#/ } " ]; then
20
+ PLATFORM_PATCH_DIR=$PLATFORM_BASE_DIR /$PLATFORM_PATCH_DIR
21
+ fi
22
+
23
+ ERTS_VER=$( cd ${PLATFORM_BASE_DIR} && ls -d erts-* )
24
+ ERTS_PATH=" ${PLATFORM_BASE_DIR} /$ERTS_VER /bin"
25
+ COOKIE=` egrep ' ^[ \t]*distributed_cookie[ \t]*=[ \t]*' $PLATFORM_ETC_DIR /riak.conf 2> /dev/null | cut -d = -f 2 | tr -d ' ' `
9
26
10
- ERTS_PATH=" {{runner_base_dir}}/` (cd {{runner_base_dir}} && ls -d erts-* )` /bin"
11
- COOKIE=` egrep ' ^[ \t]*distributed_cookie[ \t]*=[ \t]*' {{platform_etc_dir}}/riak.conf 2> /dev/null | cut -d = -f 2 | tr -d ' ' `
12
27
NODE={{node}}
13
28
HOST=${NODE#*@ }
14
29
15
- BOOT_FILE=" {{runner_base_dir}} /releases/{{rel_vsn }}/start_clean"
30
+ BOOT_FILE=" ${PLATFORM_BASE_DIR} /releases/{{release_version }}/start_clean"
16
31
17
32
usage () {
18
33
echo " Usage: $SCRIPT { cluster | join | leave | backup | restore | test | "
@@ -804,7 +819,7 @@ case "$1" in
804
819
echo " Lists the services available on the node. See also: wait-for-service"
805
820
exit 1
806
821
fi
807
- $RPC_HOPterms riak_core_node_watcher services ' '
822
+ $RPCt_HOP riak_core_node_watcher services ' '
808
823
;;
809
824
810
825
wait[_-]for[_-]service)
@@ -818,7 +833,7 @@ case "$1" in
818
833
while (true); do
819
834
# Make sure riak_core_node_watcher is up and running locally before trying to query it
820
835
# to avoid ugly (but harmless) error messages
821
- NODEWATCHER=` $RPC_HOPterms erlang whereis " 'riak_core_node_watcher'." `
836
+ NODEWATCHER=` $RPCt_HOP erlang whereis " 'riak_core_node_watcher'." `
822
837
if [ " $NODEWATCHER " = " undefined" ]; then
823
838
echo " $SVC is not up: node watcher is not running"
824
839
continue
@@ -827,9 +842,9 @@ case "$1" in
827
842
# Get the list of services that are available on the requested node
828
843
# If no node is specified, get the list of services from the local node
829
844
if [ " X$TARGETNODE " = " X" ]; then
830
- SERVICES=` $RPC_HOPterms riak_core_node_watcher services ' ' `
845
+ SERVICES=` $RPCt_HOP riak_core_node_watcher services ' ' `
831
846
else
832
- SERVICES=` $RPC_HOPterms riak_core_node_watcher services " '${TARGETNODE} '." `
847
+ SERVICES=` $RPCt_HOP riak_core_node_watcher services " '${TARGETNODE} '." `
833
848
fi
834
849
echo " $SERVICES " | grep " [[,]$SVC [],]" > /dev/null 2>&1
835
850
if [ " X$? " = " X0" ]; then
@@ -870,7 +885,7 @@ case "$1" in
870
885
OLDNODE=$1
871
886
NEWNODE=$2
872
887
$ERTS_PATH /erl -noshell \
873
- -pa {{runner_patch_dir }} \
888
+ -pa {{platform_patch_dir }} \
874
889
-boot $BOOT_FILE \
875
890
$CONFIG_ARGS \
876
891
-eval " riak_kv_console:$ACTION (['$OLDNODE ', '$NEWNODE '])" \
@@ -891,7 +906,7 @@ case "$1" in
891
906
FILENAME=$3
892
907
893
908
$ERTS_PATH /erl -noshell -name riak_kv_backup@$HOST -setcookie $COOKIE \
894
- -pa {{runner_patch_dir }} \
909
+ -pa {{platform_patch_dir }} \
895
910
-boot $BOOT_FILE \
896
911
-eval " riak_kv_backup:$ACTION ('$NODE ', \" $FILENAME \" )" -s init stop
897
912
;;
@@ -911,20 +926,20 @@ case "$1" in
911
926
TYPE=$4
912
927
913
928
$ERTS_PATH /erl -noshell -name riak_kv_backup@$HOST -setcookie $COOKIE \
914
- -pa {{runner_patch_dir }} \
929
+ -pa {{platform_patch_dir }} \
915
930
-boot $BOOT_FILE \
916
931
-eval " riak_kv_backup:$ACTION ('$NODE ', \" $FILENAME \" , \" $TYPE \" )" -s init stop
917
932
;;
918
933
919
- test)
934
+ ' test' )
920
935
# Make sure the local node IS running
921
936
922
937
shift
923
938
924
939
# Parse out the node name to pass to the client
925
940
926
941
$ERTS_PATH /erl -noshell -name riak_test@$HOST -setcookie $COOKIE \
927
- -pa {{runner_patch_dir }} \
942
+ -pa {{platform_patch_dir }} \
928
943
-boot $BOOT_FILE \
929
944
-eval " case catch(riak:client_test(\" $NODE \" )) of \
930
945
ok -> init:stop(); \
@@ -959,7 +974,7 @@ case "$1" in
959
974
RAND=$(( $(($$ % 1000 )) + 1))
960
975
# Using np_etop instead of riak_etop to follow node_package convention
961
976
$ERTS_PATH /erl -noshell -noinput \
962
- -pa {{runner_base_dir }} \
977
+ -pa {{platform_patch_dir }} \
963
978
-boot $BOOT_FILE \
964
979
-hidden -name np_etop$RAND @$HOST -setcookie $COOKIE \
965
980
-s etop -s erlang halt -output text \
0 commit comments