|
|
@ -14,8 +14,9 @@ NAME=$(basename $0) |
|
|
KAZOO_ROOT="/opt/kazoo" |
|
|
KAZOO_ROOT="/opt/kazoo" |
|
|
KAZOO_BIN="${KAZOO_ROOT}/bin/kazoo" |
|
|
KAZOO_BIN="${KAZOO_ROOT}/bin/kazoo" |
|
|
USER="kazoo" |
|
|
USER="kazoo" |
|
|
|
|
|
SWITCH_USER="su ${USER} -s /bin/bash -c" |
|
|
|
|
|
|
|
|
test -x $KAZOO_BIN || exit 0 |
|
|
|
|
|
|
|
|
test -x ${KAZOO_BIN} || exit 0 |
|
|
|
|
|
|
|
|
RETVAL=0 |
|
|
RETVAL=0 |
|
|
set -e |
|
|
set -e |
|
|
@ -36,43 +37,49 @@ export NAME_ARG="-name ${NAME}" |
|
|
export VMARGS_PATH=/etc/kazoo/core/vm.args |
|
|
export VMARGS_PATH=/etc/kazoo/core/vm.args |
|
|
|
|
|
|
|
|
# Check that networking is up. |
|
|
# Check that networking is up. |
|
|
if [ "$NETWORKING" = "no" ]; then |
|
|
|
|
|
|
|
|
if [ "${NETWORKING}" = "no" ]; then |
|
|
exit 0 |
|
|
exit 0 |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
start() { |
|
|
start() { |
|
|
echo -n $"Starting ${NAME}: " |
|
|
echo -n $"Starting ${NAME}: " |
|
|
|
|
|
|
|
|
cd $KAZOO_ROOT |
|
|
|
|
|
|
|
|
cd ${KAZOO_ROOT} |
|
|
export CODE_LOADING_MODE=interactive |
|
|
export CODE_LOADING_MODE=interactive |
|
|
$KAZOO_BIN start > /dev/null 2>&1; |
|
|
|
|
|
|
|
|
|
|
|
for (( i=0; i<10; ++i )); do |
|
|
|
|
|
OUT=`$KAZOO_BIN getpid`; |
|
|
|
|
|
if [ $? == 0 ]; then PID=$OUT; break; fi |
|
|
|
|
|
sleep 1; |
|
|
|
|
|
|
|
|
mkdir -p /tmp/erl_pipes/${NAME} |
|
|
|
|
|
chown ${USER} /tmp/erl_pipes/${NAME} |
|
|
|
|
|
mkdir -p /var/log/kazoo |
|
|
|
|
|
chown ${USER} /var/log/kazoo |
|
|
|
|
|
chown ${USER} -R /opt/kazoo /opt/kazoo/.* |
|
|
|
|
|
${SWITCH_USER} "${KAZOO_BIN} start" > /dev/null 2>&1; |
|
|
|
|
|
|
|
|
|
|
|
WAIT_TIME=0 |
|
|
|
|
|
until ${SWITCH_USER} "${KAZOO_BIN} pid" > /dev/null 2>&1 || [ $NEXT_WAIT_TIME -eq 4 ]; do |
|
|
|
|
|
sleep $(( NEXT_WAIT_TIME++ )) |
|
|
done |
|
|
done |
|
|
|
|
|
|
|
|
if [ -z "$PID" ]; then |
|
|
|
|
|
|
|
|
if ${SWITCH_USER} "${KAZOO_BIN} pid" > /dev/null 2>&1; then |
|
|
|
|
|
success $"OK" |
|
|
|
|
|
else |
|
|
failure |
|
|
failure |
|
|
RETVAL=1 |
|
|
RETVAL=1 |
|
|
else |
|
|
|
|
|
success |
|
|
|
|
|
fi |
|
|
fi |
|
|
|
|
|
echo |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
stop() { |
|
|
stop() { |
|
|
echo -n $"Stopping ${NAME}: " |
|
|
echo -n $"Stopping ${NAME}: " |
|
|
|
|
|
|
|
|
cd $KAZOO_ROOT |
|
|
|
|
|
$KAZOO_BIN stop > /dev/null 2>&1; |
|
|
|
|
|
|
|
|
cd ${KAZOO_ROOT} |
|
|
|
|
|
${SWITCH_USER} "${KAZOO_BIN} stop" > /dev/null 2>&1; |
|
|
|
|
|
|
|
|
if [ $? != 0 ]; then |
|
|
|
|
|
|
|
|
if ${SWITCH_USER} "${KAZOO_BIN} pid" > /dev/null 2>&1; then |
|
|
failure |
|
|
failure |
|
|
RETVAL=1 |
|
|
RETVAL=1 |
|
|
else |
|
|
else |
|
|
success |
|
|
success |
|
|
fi |
|
|
fi |
|
|
|
|
|
echo |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
restart() { |
|
|
restart() { |
|
|
@ -81,8 +88,8 @@ restart() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
status() { |
|
|
status() { |
|
|
cd $KAZOO_ROOT |
|
|
|
|
|
$KAZOO_BIN eval "kz_nodes:status()." | sed \$d |
|
|
|
|
|
|
|
|
cd ${KAZOO_ROOT} |
|
|
|
|
|
${SWITCH_USER} "${KAZOO_BIN} eval 'kz_nodes:status().'" | sed \$d |
|
|
|
|
|
|
|
|
if [ $? != 0 ]; then |
|
|
if [ $? != 0 ]; then |
|
|
(>&2 echo "${NAME} is not running!") |
|
|
(>&2 echo "${NAME} is not running!") |
|
|
@ -91,9 +98,10 @@ status() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
connect() { |
|
|
connect() { |
|
|
cd $KAZOO_ROOT |
|
|
|
|
|
export COOKIE_ARG="-setcookie `$KAZOO_BIN eval 'erlang:get_cookie()'`" |
|
|
|
|
|
$KAZOO_BIN remote_console |
|
|
|
|
|
|
|
|
cd ${KAZOO_ROOT} |
|
|
|
|
|
COOKIE=`${SWITCH_USER} "${KAZOO_BIN} eval 'erlang:get_cookie()'"` |
|
|
|
|
|
export COOKIE_ARG="-setcookie ${COOKIE}" |
|
|
|
|
|
${SWITCH_USER} "${KAZOO_BIN} remote_console" |
|
|
if [ $? != 0 ]; then |
|
|
if [ $? != 0 ]; then |
|
|
(>&2 echo "${NAME} is not running!") |
|
|
(>&2 echo "${NAME} is not running!") |
|
|
RETVAL=1 |
|
|
RETVAL=1 |
|
|
@ -101,8 +109,8 @@ connect() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
attach() { |
|
|
attach() { |
|
|
cd $KAZOO_ROOT |
|
|
|
|
|
$KAZOO_BIN attach |
|
|
|
|
|
|
|
|
cd ${KAZOO_ROOT} |
|
|
|
|
|
${SWITCH_USER} "${KAZOO_BIN} attach" |
|
|
|
|
|
|
|
|
if [ $? != 0 ]; then |
|
|
if [ $? != 0 ]; then |
|
|
(>&2 echo "${NAME} is not running!") |
|
|
(>&2 echo "${NAME} is not running!") |
|
|
@ -111,9 +119,10 @@ attach() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
ping() { |
|
|
ping() { |
|
|
cd $KAZOO_ROOT |
|
|
|
|
|
export COOKIE_ARG="-setcookie `$KAZOO_BIN eval 'erlang:get_cookie()'`" |
|
|
|
|
|
$KAZOO_BIN ping |
|
|
|
|
|
|
|
|
cd ${KAZOO_ROOT} |
|
|
|
|
|
COOKIE=`${SWITCH_USER} "${KAZOO_BIN} eval 'erlang:get_cookie()'"` |
|
|
|
|
|
export COOKIE_ARG="-setcookie ${COOKIE}" |
|
|
|
|
|
${SWITCH_USER} "${KAZOO_BIN} ping" |
|
|
if [ $? != 0 ]; then |
|
|
if [ $? != 0 ]; then |
|
|
(>&2 echo "${NAME} is not running!") |
|
|
(>&2 echo "${NAME} is not running!") |
|
|
RETVAL=1 |
|
|
RETVAL=1 |
|
|
@ -121,8 +130,10 @@ ping() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
pid() { |
|
|
pid() { |
|
|
cd $KAZOO_ROOT |
|
|
|
|
|
$KAZOO_BIN pid |
|
|
|
|
|
|
|
|
cd ${KAZOO_ROOT} |
|
|
|
|
|
COOKIE=`${SWITCH_USER} "${KAZOO_BIN} eval 'erlang:get_cookie()'"` |
|
|
|
|
|
export COOKIE_ARG="-setcookie ${COOKIE}" |
|
|
|
|
|
${SWITCH_USER} "${KAZOO_BIN} pid" |
|
|
if [ $? != 0 ]; then |
|
|
if [ $? != 0 ]; then |
|
|
(>&2 echo "${NAME} is not running!") |
|
|
(>&2 echo "${NAME} is not running!") |
|
|
RETVAL=1 |
|
|
RETVAL=1 |
|
|
@ -130,15 +141,15 @@ pid() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
foreground() { |
|
|
foreground() { |
|
|
cd $KAZOO_ROOT |
|
|
|
|
|
|
|
|
cd ${KAZOO_ROOT} |
|
|
export CODE_LOADING_MODE=interactive |
|
|
export CODE_LOADING_MODE=interactive |
|
|
$KAZOO_BIN foreground |
|
|
|
|
|
|
|
|
${SWITCH_USER} "${KAZOO_BIN} foreground" |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
console() { |
|
|
console() { |
|
|
cd $KAZOO_ROOT |
|
|
|
|
|
|
|
|
cd ${KAZOO_ROOT} |
|
|
export CODE_LOADING_MODE=interactive |
|
|
export CODE_LOADING_MODE=interactive |
|
|
$KAZOO_BIN console |
|
|
|
|
|
|
|
|
${SWITCH_USER} "${KAZOO_BIN} console" |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
case "$1" in |
|
|
case "$1" in |
|
|
|