fix(script): nodetool use remsh prefixed node name
This commit is contained in:
parent
4ee0dbdea4
commit
6476a5ea92
6
bin/emqx
6
bin/emqx
|
@ -280,12 +280,13 @@ if [ -z "$NAME_ARG" ]; then
|
||||||
[ -z "$NODENAME" ] && [ -n "$EMQX_NAME" ] && [ -n "$EMQX_HOST" ] && NODENAME="${EMQX_NAME}@${EMQX_HOST}"
|
[ -z "$NODENAME" ] && [ -n "$EMQX_NAME" ] && [ -n "$EMQX_HOST" ] && NODENAME="${EMQX_NAME}@${EMQX_HOST}"
|
||||||
if [ -z "$NODENAME" ] && [ "$IS_BOOT_COMMAND" = 'no' ]; then
|
if [ -z "$NODENAME" ] && [ "$IS_BOOT_COMMAND" = 'no' ]; then
|
||||||
# for non-boot commands, inspect vm.<time>.args for node name
|
# for non-boot commands, inspect vm.<time>.args for node name
|
||||||
|
# shellcheck disable=SC2012,SC2086
|
||||||
LATEST_VM_ARGS="$(ls -t $RUNNER_DATA_DIR/configs/vm.*.args | head -1)"
|
LATEST_VM_ARGS="$(ls -t $RUNNER_DATA_DIR/configs/vm.*.args | head -1)"
|
||||||
if [ -z "$LATEST_VM_ARGS" ]; then
|
if [ -z "$LATEST_VM_ARGS" ]; then
|
||||||
echo "For command $1, there is no vm.*.args config file found in $RUNNER_DATA_DIR/configs/"
|
echo "For command $1, there is no vm.*.args config file found in $RUNNER_DATA_DIR/configs/"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
NODENAME="$(grep -E '^-name' $LATEST_VM_ARGS | awk '{print $2}')"
|
NODENAME="$(grep -E '^-name' "$LATEST_VM_ARGS" | awk '{print $2}')"
|
||||||
else
|
else
|
||||||
# for boot commands, inspect emqx.conf for node name
|
# for boot commands, inspect emqx.conf for node name
|
||||||
NODENAME=$(grep -E '^[ \t]*node.name[ \t]*=[ \t]*' "$RUNNER_ETC_DIR/emqx.conf" 2> /dev/null | tail -1 | cut -d = -f 2-)
|
NODENAME=$(grep -E '^[ \t]*node.name[ \t]*=[ \t]*' "$RUNNER_ETC_DIR/emqx.conf" 2> /dev/null | tail -1 | cut -d = -f 2-)
|
||||||
|
@ -316,12 +317,13 @@ PIPE_DIR="${PIPE_DIR:-/$RUNNER_DATA_DIR/${WHOAMI}_erl_pipes/$NAME/}"
|
||||||
# or inspect vm.<time>.args
|
# or inspect vm.<time>.args
|
||||||
COOKIE="${EMQX_NODE_COOKIE:-}"
|
COOKIE="${EMQX_NODE_COOKIE:-}"
|
||||||
if [ -z "$COOKIE" ] && [ "$IS_BOOT_COMMAND" = 'no' ]; then
|
if [ -z "$COOKIE" ] && [ "$IS_BOOT_COMMAND" = 'no' ]; then
|
||||||
|
# shellcheck disable=SC2012,SC2086
|
||||||
LATEST_VM_ARGS="$(ls -t $RUNNER_DATA_DIR/configs/vm.*.args | head -1)"
|
LATEST_VM_ARGS="$(ls -t $RUNNER_DATA_DIR/configs/vm.*.args | head -1)"
|
||||||
if [ -z "$LATEST_VM_ARGS" ]; then
|
if [ -z "$LATEST_VM_ARGS" ]; then
|
||||||
echo "For command $1, there is no vm.*.args config file found in $RUNNER_DATA_DIR/configs/"
|
echo "For command $1, there is no vm.*.args config file found in $RUNNER_DATA_DIR/configs/"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
COOKIE="$(grep -E '^-setcookie' $LATEST_VM_ARGS | awk '{print $2}')"
|
COOKIE="$(grep -E '^-setcookie' "$LATEST_VM_ARGS" | awk '{print $2}')"
|
||||||
if [ -z "$COOKIE" ]; then
|
if [ -z "$COOKIE" ]; then
|
||||||
echoerr "Please set node.cookie in $RUNNER_ETC_DIR/emqx.conf or override from environment variable EMQX_NODE_COOKIE"
|
echoerr "Please set node.cookie in $RUNNER_ETC_DIR/emqx.conf or override from environment variable EMQX_NODE_COOKIE"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -8,6 +8,7 @@ ROOT_DIR="$(cd "$(dirname "$(readlink "$0" || echo "$0")")"/..; pwd -P)"
|
||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
. "$ROOT_DIR"/releases/emqx_vars
|
. "$ROOT_DIR"/releases/emqx_vars
|
||||||
|
|
||||||
|
# shellcheck disable=SC2012,SC2086
|
||||||
LATEST_VM_ARGS="$(ls -t $RUNNER_DATA_DIR/configs/vm.*.args | head -1)"
|
LATEST_VM_ARGS="$(ls -t $RUNNER_DATA_DIR/configs/vm.*.args | head -1)"
|
||||||
if [ -z "$LATEST_VM_ARGS" ]; then
|
if [ -z "$LATEST_VM_ARGS" ]; then
|
||||||
echo "No vm.*.args config file found in $RUNNER_DATA_DIR/configs/"
|
echo "No vm.*.args config file found in $RUNNER_DATA_DIR/configs/"
|
||||||
|
@ -41,7 +42,7 @@ relx_nodetool() {
|
||||||
if [ -z "$NAME_ARG" ]; then
|
if [ -z "$NAME_ARG" ]; then
|
||||||
NODENAME="${EMQX_NODE_NAME:-}"
|
NODENAME="${EMQX_NODE_NAME:-}"
|
||||||
[ -z "$NODENAME" ] && [ -n "$EMQX_NAME" ] && [ -n "$EMQX_HOST" ] && NODENAME="${EMQX_NAME}@${EMQX_HOST}"
|
[ -z "$NODENAME" ] && [ -n "$EMQX_NAME" ] && [ -n "$EMQX_HOST" ] && NODENAME="${EMQX_NAME}@${EMQX_HOST}"
|
||||||
[ -z "$NODENAME" ] && NODENAME="$(grep -E '^-name' $LATEST_VM_ARGS | awk '{print $2}')"
|
[ -z "$NODENAME" ] && NODENAME="$(grep -E '^-name' "$LATEST_VM_ARGS" | awk '{print $2}')"
|
||||||
if [ -z "$NODENAME" ]; then
|
if [ -z "$NODENAME" ]; then
|
||||||
echoerr "vm.args needs to have a -name parameter."
|
echoerr "vm.args needs to have a -name parameter."
|
||||||
echoerr " -sname is not supported."
|
echoerr " -sname is not supported."
|
||||||
|
@ -57,7 +58,7 @@ NAME_TYPE="$(echo "$NAME_ARG" | awk '{print $1}')"
|
||||||
NAME="$(echo "$NAME_ARG" | awk '{print $2}')"
|
NAME="$(echo "$NAME_ARG" | awk '{print $2}')"
|
||||||
|
|
||||||
COOKIE="${EMQX_NODE_COOKIE:-}"
|
COOKIE="${EMQX_NODE_COOKIE:-}"
|
||||||
[ -z "$COOKIE" ] && COOKIE="$(grep -E '^-setcookie' $LATEST_VM_ARGS | awk '{print $2}')"
|
[ -z "$COOKIE" ] && COOKIE="$(grep -E '^-setcookie' "$LATEST_VM_ARGS" | awk '{print $2}')"
|
||||||
if [ -z "$COOKIE" ]; then
|
if [ -z "$COOKIE" ]; then
|
||||||
echoerr "Please set node.cookie in $RUNNER_ETC_DIR/emqx.conf or override from environment variable EMQX_NODE_COOKIE"
|
echoerr "Please set node.cookie in $RUNNER_ETC_DIR/emqx.conf or override from environment variable EMQX_NODE_COOKIE"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
14
bin/nodetool
14
bin/nodetool
|
@ -24,13 +24,13 @@ main(Args) ->
|
||||||
ok = do_with_halt(Args, "chkconfig", fun chkconfig/1),
|
ok = do_with_halt(Args, "chkconfig", fun chkconfig/1),
|
||||||
Args1 = do_with_ret(Args, "-name",
|
Args1 = do_with_ret(Args, "-name",
|
||||||
fun(TargetName) ->
|
fun(TargetName) ->
|
||||||
ThisNode = append_node_suffix(TargetName, "_maint_"),
|
ThisNode = this_node_name(TargetName),
|
||||||
{ok, _} = net_kernel:start([ThisNode, longnames]),
|
{ok, _} = net_kernel:start([ThisNode, longnames]),
|
||||||
put(target_node, nodename(TargetName))
|
put(target_node, nodename(TargetName))
|
||||||
end),
|
end),
|
||||||
Args2 = do_with_ret(Args1, "-sname",
|
Args2 = do_with_ret(Args1, "-sname",
|
||||||
fun(TargetName) ->
|
fun(TargetName) ->
|
||||||
ThisNode = append_node_suffix(TargetName, "_maint_"),
|
ThisNode = this_node_name(TargetName),
|
||||||
{ok, _} = net_kernel:start([ThisNode, shortnames]),
|
{ok, _} = net_kernel:start([ThisNode, shortnames]),
|
||||||
put(target_node, nodename(TargetName))
|
put(target_node, nodename(TargetName))
|
||||||
end),
|
end),
|
||||||
|
@ -200,13 +200,9 @@ nodename(Name) ->
|
||||||
list_to_atom(lists:concat([Node, "@", Host]))
|
list_to_atom(lists:concat([Node, "@", Host]))
|
||||||
end.
|
end.
|
||||||
|
|
||||||
append_node_suffix(Name, Suffix) ->
|
this_node_name(Name) ->
|
||||||
case re:split(Name, "@", [{return, list}, unicode]) of
|
[Node, Host] = re:split(Name, "@", [{return, list}, unicode]),
|
||||||
[Node, Host] ->
|
list_to_atom(lists:concat(["remsh_maint_", Node, os:getpid(), "@", Host])).
|
||||||
list_to_atom(lists:concat([Node, Suffix, os:getpid(), "@", Host]));
|
|
||||||
[Node] ->
|
|
||||||
list_to_atom(lists:concat([Node, Suffix, os:getpid()]))
|
|
||||||
end.
|
|
||||||
|
|
||||||
%% For windows???
|
%% For windows???
|
||||||
create_mnesia_dir(DataDir, NodeName) ->
|
create_mnesia_dir(DataDir, NodeName) ->
|
||||||
|
|
Loading…
Reference in New Issue