From fd2a6d44e4c6e9d2318146b405010e185fad97e0 Mon Sep 17 00:00:00 2001 From: karl anderson Date: Tue, 14 Jun 2016 10:31:39 -0700 Subject: [PATCH] use /usr/sbin scripts for init.d and add missing kazoo core scripts --- system/init.d/kazoo-bigcouch.redhat | 35 ++-- system/init.d/kazoo-freeswitch.redhat | 98 ++++++------ system/init.d/kazoo-generic.redhat | 219 ++++++-------------------- system/init.d/kazoo-haproxy.redhat | 79 +++++----- system/sbin/kazoo-applications | 175 ++++++++++++++++++++ system/sbin/kazoo-ecallmgr | 175 ++++++++++++++++++++ 6 files changed, 504 insertions(+), 277 deletions(-) create mode 100755 system/sbin/kazoo-applications create mode 100755 system/sbin/kazoo-ecallmgr diff --git a/system/init.d/kazoo-bigcouch.redhat b/system/init.d/kazoo-bigcouch.redhat index c56803e..2dddc4a 100755 --- a/system/init.d/kazoo-bigcouch.redhat +++ b/system/init.d/kazoo-bigcouch.redhat @@ -13,37 +13,32 @@ LOCK_FILE=${LOCK_FILE:-/var/lock/subsys/kazoo-bigcouch} . /etc/init.d/functions -if [ -f /etc/sysconfig/bigcouch ]; then - . /etc/sysconfig/bigcouch -fi - -if [ "${NETWORKING}" = "no" ]; then - exit 0 -fi - -[ -f /opt/bigcouch/bin/BigCouch ] || exit 0 - start() { - RETVAL=1 echo -n $"Starting BigCouch: " - /usr/sbin/kazoo-bigcouch start + /usr/sbin/kazoo-bigcouch start >/dev/null 2>&1 RETVAL=$? - echo - [ ${RETVAL} -eq 0 ] && touch ${LOCK_FILE} + if [ ${RETVAL} -eq 0 ]; then + touch ${LOCK_FILE} + success $"OK" + echo + else + failure $"Bigcouch is already running or failed to start!" + echo + fi } stop() { - RETVAL=1 echo -n $"Stopping BigCouch: " - /usr/sbin/kazoo-bigcouch stop + /usr/sbin/kazoo-bigcouch stop >/dev/null 2>&1 RETVAL=$? if [ ${RETVAL} -eq 0 ]; then rm -f ${LOCK_FILE} ${pidfile} - success + success $"OK" + echo else - failure + failure $"Bigcouch is still running!" + echo fi - echo } status() { @@ -77,4 +72,4 @@ case "$1" in RETVAL=1 esac -exit $RETVAL +exit ${RETVAL} diff --git a/system/init.d/kazoo-freeswitch.redhat b/system/init.d/kazoo-freeswitch.redhat index 6c587d8..04596e2 100755 --- a/system/init.d/kazoo-freeswitch.redhat +++ b/system/init.d/kazoo-freeswitch.redhat @@ -18,75 +18,75 @@ LOCK_FILE=/var/lock/subsys/kazoo-freeswitch . /etc/init.d/functions -if [ -f /etc/sysconfig/freeswitch ]; then - . /etc/sysconfig/freeswitch -fi - start() { echo -n "Starting FreeSWITCH: " - if [ -e $LOCK_FILE ]; then - if [ -e $PID_FILE ] && [ -e /proc/`cat $PID_FILE` ]; then - echo - echo -n $"FreeSWITCH is already running."; + if [ -e ${LOCK_FILE} ]; then + if [ -e ${PID_FILE} ] && [ -e /proc/`cat ${PID_FILE}` ]; then failure $"FreeSWITCH is already running."; echo return 1 fi fi - daemon --user $FS_USER --pidfile ${PID_FILE} "/usr/sbin/kazoo-freeswitch start >/dev/null 2>&1" + daemon --user ${FS_USER} --pidfile ${PID_FILE} "/usr/sbin/kazoo-freeswitch start >/dev/null 2>&1" RETVAL=$? - echo - [ $RETVAL -eq 0 ] && touch $LOCK_FILE; - echo - return $RETVAL + if [ ${RETVAL} -eq 0 ]; then + touch ${LOCK_FILE} + success $"OK" + echo + else + failure $"FreeSWITCH is already running or failed to start!" + echo + fi } stop() { echo -n "Shutting down FreeSWITCH: " - if [ ! -e $LOCK_FILE ]; then - echo - echo -n $"cannot stop FreeSWITCH: FreeSWITCH is not running." - failure $"cannot stop FreeSWITCH: FreeSWITCH is not running." + if [ ! -e ${LOCK_FILE} ]; then + failure $"Unable to stop FreeSWITCH: FreeSWITCH is not running." echo return 1; fi - /usr/sbin/kazoo-freeswitch stop + /usr/sbin/kazoo-freeswitch stop >/dev/null 2>&1 RETVAL=$? - echo - [ $RETVAL -eq 0 ] && rm -f $LOCK_FILE; - return $RETVAL + if [ ${RETVAL} -eq 0 ]; then + rm -f ${LOCK_FILE} ${pidfile} + success $"OK" + echo + else + failure $"FreeSWITCH is still running!" + echo + fi } -rhstatus() { - status FreeSWITCH; +status() { + /usr/sbin/kazoo-freeswitch status + RETVAL=$? +} + +restart() { + stop + start } case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status FreeSWITCH - RETVAL=$? - ;; - restart) - stop - start - ;; - reload) -# - ;; - condrestart) - [ -f $PID_FILE ] && restart || : - ;; - *) - echo "Usage: FreeSWITCH {start|stop|status|reload|restart}" - exit 1 - ;; + start) + start + ;; + stop) + stop + ;; + status) + status + ;; + restart|reload) + restart + ;; + condrestart) + [ ! -e ${LOCK_FILE} ] && restart + ;; + *) + echo $"Usage: $0 (start|stop|restart|status)" + RETVAL=1 esac + exit ${RETVAL} diff --git a/system/init.d/kazoo-generic.redhat b/system/init.d/kazoo-generic.redhat index f3d918a..022f0a3 100755 --- a/system/init.d/kazoo-generic.redhat +++ b/system/init.d/kazoo-generic.redhat @@ -7,192 +7,73 @@ # processname: kazoo # -# Source function library. -. /etc/rc.d/init.d/functions - -NAME=$(basename $0) -KAZOO_ROOT="/opt/kazoo" -KAZOO_BIN="${KAZOO_ROOT}/bin/kazoo" -USER="kazoo" -SWITCH_USER="su ${USER} -s /bin/bash -c" - -test -x ${KAZOO_BIN} || exit 0 - RETVAL=0 -set -e - -[ -f /etc/default/${NAME} ] && . /etc/default/${NAME} +SCRIPT_NAME=`basename "$0"` +LOCK_FILE=${LOCK_FILE:-/var/lock/subsys/${SCRIPT_NAME}} -[ -f /etc/sysconfig/${NAME} ] && . /etc/sysconfig/${NAME} +. /etc/init.d/functions -if [ "${NAME}" == "kazoo-applications" ]; then - NAME="kazoo_apps" -else - NAME=${NAME#*-} -fi - -# export -export HOME="${KAZOO_ROOT}" -export NAME_ARG="-name ${NAME}" -export VMARGS_PATH=/etc/kazoo/core/vm.args - -# Check that networking is up. if [ "${NETWORKING}" = "no" ]; then - exit 0 + exit 0 fi start() { - echo -n $"Starting ${NAME}: " - - if ${SWITCH_USER} "${KAZOO_BIN} pid" > /dev/null 2>&1; then - failure - echo - RETVAL=1 - return - fi - - cd ${KAZOO_ROOT} - export CODE_LOADING_MODE=interactive - 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 - - if ${SWITCH_USER} "${KAZOO_BIN} pid" > /dev/null 2>&1; then - success - else - failure - RETVAL=1 - fi - echo + echo -n $"Starting ${SCRIPT_NAME}: " + /usr/sbin/${SCRIPT_NAME} start >/dev/null 2>&1 + RETVAL=$? + if [ ${RETVAL} -eq 0 ]; then + touch ${LOCK_FILE} + success $"OK" + echo + else + failure $"Kazoo ${SCRIPT_NAME#*-} is already running or failed to start!" + echo + fi } stop() { - echo -n $"Stopping ${NAME}: " - - cd ${KAZOO_ROOT} - ${SWITCH_USER} "${KAZOO_BIN} stop" > /dev/null 2>&1; - - if ${SWITCH_USER} "${KAZOO_BIN} pid" > /dev/null 2>&1; then - failure - RETVAL=1 - else - success - fi - echo -} - -restart() { - stop - start + echo -n $"Stopping ${SCRIPT_NAME}: " + /usr/sbin/${SCRIPT_NAME} stop >/dev/null 2>&1 + RETVAL=$? + if [ ${RETVAL} -eq 0 ]; then + rm -f ${LOCK_FILE} ${pidfile} + success $"OK" + echo + else + failure $"Kazoo ${SCRIPT_NAME#*-} is still running!" + echo + fi } status() { - cd ${KAZOO_ROOT} - ${SWITCH_USER} "${KAZOO_BIN} eval 'kz_nodes:status().'" | sed \$d - - if [ $? != 0 ]; then - (>&2 echo "${NAME} is not running!") - RETVAL=1 - fi -} - -connect() { - 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 - (>&2 echo "${NAME} is not running!") - RETVAL=1 - fi -} - -attach() { - cd ${KAZOO_ROOT} - ${SWITCH_USER} "${KAZOO_BIN} attach" - - if [ $? != 0 ]; then - (>&2 echo "${NAME} is not running!") - RETVAL=1 - fi + /usr/sbin/${SCRIPT_NAME} status + RETVAL=$? } -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 - (>&2 echo "${NAME} is not running!") - RETVAL=1 - fi -} - -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 - (>&2 echo "${NAME} is not running!") - RETVAL=1 - fi -} - -foreground() { - cd ${KAZOO_ROOT} - export CODE_LOADING_MODE=interactive - ${SWITCH_USER} "${KAZOO_BIN} foreground" -} - -console() { - cd ${KAZOO_ROOT} - export CODE_LOADING_MODE=interactive - ${SWITCH_USER} "${KAZOO_BIN} console" +restart() { + stop + start } case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status - ;; - restart) - restart - ;; - connect) - connect - ;; - attach) - attach - ;; - ping) - ping - ;; - pid) - pid - ;; - foreground) - foreground - ;; - console) - console - ;; - *) - echo $"Usage: $0 (start|stop|restart|status|connect|attach|ping|pid|foreground|console)" - exit 1 + start) + start + ;; + stop) + stop + ;; + status) + status + ;; + restart|reload) + restart + ;; + condrestart) + [ ! -e ${LOCK_FILE} ] && restart + ;; + *) + echo $"Usage: $0 (start|stop|restart|status)" + RETVAL=1 esac -exit $RETVAL +exit ${RETVAL} diff --git a/system/init.d/kazoo-haproxy.redhat b/system/init.d/kazoo-haproxy.redhat index 175db23..918eba6 100755 --- a/system/init.d/kazoo-haproxy.redhat +++ b/system/init.d/kazoo-haproxy.redhat @@ -15,65 +15,66 @@ LOCK_FILE=/var/lock/subsys/kazoo-haproxy . /etc/rc.d/init.d/functions -. /etc/sysconfig/network - -[ "$NETWORKING" = "no" ] && exit 0 - - start() { - RETVAL=1 - echo -n $"Starting HAProxy: " - /usr/sbin/kazoo-haproxy start - RETVAL=$? - echo - [ ${RETVAL} -eq 0 ] && touch ${LOCK_FILE} + echo -n $"Starting HAProxy: " + /usr/sbin/kazoo-haproxy start >/dev/null 2>&1 + RETVAL=$? + if [ ${RETVAL} -eq 0 ]; then + touch ${LOCK_FILE} + success $"OK" + echo + else + failure $"HAProxy is already running or failed to start!" + echo + fi } stop() { - RETVAL=1 - echo -n $"Stopping HAProxy: " - /usr/sbin/kazoo-haproxy stop - RETVAL=$? + echo -n $"Stopping HAProxy: " + /usr/sbin/kazoo-haproxy stop >/dev/null 2>&1 + RETVAL=$? if [ ${RETVAL} -eq 0 ]; then rm -f ${LOCK_FILE} ${pidfile} - success + success $"OK" + echo else - failure + failure $"HAProxy is still running!" + echo fi - echo } status() { - /usr/sbin/kazoo-haproxy status - RETVAL=$? + /usr/sbin/kazoo-haproxy status + RETVAL=$? } restart() { - stop - start + stop + start } case "$1" in - start|stop|restart|reload) - $1 - ;; - force-reload) - restart - ;; - reload) - /usr/sbin/kazoo-haproxy reload + start) + start + ;; + stop) + stop + ;; + status) + status + ;; check) /usr/sbin/kazoo-haproxy check ;; - status) - /usr/sbin/kazoo-haproxy status - ;; - condrestart|try-restart) - [ ! -f $lockfile ] || restart - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}" - RETVAL=1 + restart|reload) + restart + ;; + condrestart) + [ ! -e ${LOCK_FILE} ] && restart + ;; + *) + echo $"Usage: $0 (start|stop|restart|status|check)" + RETVAL=1 esac exit ${RETVAL} diff --git a/system/sbin/kazoo-applications b/system/sbin/kazoo-applications new file mode 100755 index 0000000..5ecd0b0 --- /dev/null +++ b/system/sbin/kazoo-applications @@ -0,0 +1,175 @@ +#!/bin/bash + +if [ -f /etc/default/kazoo ]; then + . /etc/default/kazoo +fi + +RETVAL=0 +NAME=kazoo-applications +USER=${KAZOO_USER:-kazoo} +BIN_FILE=${BIN_FILE:-/opt/kazoo/bin/kazoo} +export HOME=${KAZOO_ROOT:-/opt/kazoo} +export VMARGS_PATH=${KAZOO_VMARGS:-/etc/kazoo/core/vm.args} + +if [ -f /etc/sysconfig/kazoo ]; then + . /etc/sysconfig/kazoo +fi + +if [ "${NAME}" == "kazoo-applications" ]; then + NAME="kazoo_apps" +else + NAME=${NAME#*-} +fi + +export NAME_ARG="-name ${NAME}" + +start() { + cd ${HOME} + if su -s /bin/bash -c "${BIN_FILE} pid" ${USER} > /dev/null 2>&1; then + RETVAL=1 + return + fi + + mkdir -p /tmp/erl_pipes/${NAME} + chown -R ${USER} /tmp/erl_pipes/${NAME} + mkdir -p /var/log/kazoo + chown -R ${USER} /var/log/kazoo + chown -R ${USER} /opt/kazoo /opt/kazoo/.* + + cd ${HOME} + export CODE_LOADING_MODE=interactive + if [ "$(whoami)" == "${USER}" ]; then + exec ${BIN_FILE} $@ + else + exec su -s /bin/bash -c "${BIN_FILE} $@" ${USER} + fi + + WAIT_TIME=0 + until su -s /bin/bash -c "${BIN_FILE} pid" ${USER} > /dev/null 2>&1 || [ ${WAIT_TIME} -eq 4 ]; do + sleep $(( WAIT_TIME++ )) + done + + if ! su -s /bin/bash -c "${BIN_FILE} pid" ${USER} > /dev/null 2>&1; then + RETVAL=1 + fi +} + +stop() { + cd ${HOME} + + su -s /bin/bash -c "${BIN_FILE} stop" ${USER} + + if su -s /bin/bash -c "${BIN_FILE} pid" ${USER} > /dev/null 2>&1; then + RETVAL=1 + fi +} + +restart() { + stop + start +} + +status() { + cd ${HOME} + + su -s /bin/bash -c "${BIN_FILE} eval 'kz_nodes:status().'" ${USER} | sed \$d + + if [ $? != 0 ]; then + (>&2 echo "${NAME} is not running!") + RETVAL=1 + fi +} + +connect() { + cd ${HOME} + + COOKIE=`su -s /bin/bash -c "${BIN_FILE} eval 'erlang:get_cookie()'" ${USER}` + export COOKIE_ARG="-setcookie ${COOKIE}" + + su -s /bin/bash -c "${BIN_FILE} remote_console" ${USER} + + if [ $? != 0 ]; then + (>&2 echo "${NAME} is not running!") + RETVAL=1 + fi +} + +attach() { + cd ${HOME} + su -s /bin/bash -c "${BIN_FILE} attach" ${USER} + + if [ $? != 0 ]; then + (>&2 echo "${NAME} is not running!") + RETVAL=1 + fi +} + +ping() { + cd ${HOME} + + COOKIE=`su -s /bin/bash -c "${BIN_FILE} eval 'erlang:get_cookie()'" ${USER}` + export COOKIE_ARG="-setcookie ${COOKIE}" + + su -s /bin/bash -c "${BIN_FILE} ping" ${USER} + + if [ $? != 0 ]; then + (>&2 echo "${NAME} is not running!") + RETVAL=1 + fi +} + +pid() { + cd ${HOME} + + COOKIE=`su -s /bin/bash -c "${BIN_FILE} eval 'erlang:get_cookie()'" ${USER}` + export COOKIE_ARG="-setcookie ${COOKIE}" + + su -s /bin/bash -c "${BIN_FILE} pid" ${USER} + + if [ $? != 0 ]; then + (>&2 echo "${NAME} is not running!") + RETVAL=1 + fi +} + +foreground() { + cd ${HOME} + + export CODE_LOADING_MODE=interactive + su -s /bin/bash -c "${BIN_FILE} foreground" ${USER} +} + +case "$1" in + start) + start "start" + ;; + stop) + stop + ;; + status) + status + ;; + restart) + restart + ;; + connect) + connect + ;; + attach) + attach + ;; + ping) + ping + ;; + pid) + pid + ;; + foreground) + foreground + ;; + *) + echo "Usage: $0 (start|stop|restart|status|connect|attach|ping|pid|foreground)" + RETVAL=1 +esac + +exit ${RETVAL} diff --git a/system/sbin/kazoo-ecallmgr b/system/sbin/kazoo-ecallmgr new file mode 100755 index 0000000..d3656bf --- /dev/null +++ b/system/sbin/kazoo-ecallmgr @@ -0,0 +1,175 @@ +#!/bin/bash + +if [ -f /etc/default/kazoo ]; then + . /etc/default/kazoo +fi + +RETVAL=0 +NAME=kazoo-ecallmgr +USER=${KAZOO_USER:-kazoo} +BIN_FILE=${BIN_FILE:-/opt/kazoo/bin/kazoo} +export HOME=${KAZOO_ROOT:-/opt/kazoo} +export VMARGS_PATH=${KAZOO_VMARGS:-/etc/kazoo/core/vm.args} + +if [ -f /etc/sysconfig/kazoo ]; then + . /etc/sysconfig/kazoo +fi + +if [ "${NAME}" == "kazoo-applications" ]; then + NAME="kazoo_apps" +else + NAME=${NAME#*-} +fi + +export NAME_ARG="-name ${NAME}" + +start() { + cd ${HOME} + if su -s /bin/bash -c "${BIN_FILE} pid" ${USER} > /dev/null 2>&1; then + RETVAL=1 + return + fi + + mkdir -p /tmp/erl_pipes/${NAME} + chown -R ${USER} /tmp/erl_pipes/${NAME} + mkdir -p /var/log/kazoo + chown -R ${USER} /var/log/kazoo + chown -R ${USER} /opt/kazoo /opt/kazoo/.* + + cd ${HOME} + export CODE_LOADING_MODE=interactive + if [ "$(whoami)" == "${USER}" ]; then + exec ${BIN_FILE} $@ + else + exec su -s /bin/bash -c "${BIN_FILE} $@" ${USER} + fi + + WAIT_TIME=0 + until su -s /bin/bash -c "${BIN_FILE} pid" ${USER} > /dev/null 2>&1 || [ ${WAIT_TIME} -eq 4 ]; do + sleep $(( WAIT_TIME++ )) + done + + if ! su -s /bin/bash -c "${BIN_FILE} pid" ${USER} > /dev/null 2>&1; then + RETVAL=1 + fi +} + +stop() { + cd ${HOME} + + su -s /bin/bash -c "${BIN_FILE} stop" ${USER} + + if su -s /bin/bash -c "${BIN_FILE} pid" ${USER} > /dev/null 2>&1; then + RETVAL=1 + fi +} + +restart() { + stop + start +} + +status() { + cd ${HOME} + + su -s /bin/bash -c "${BIN_FILE} eval 'kz_nodes:status().'" ${USER} | sed \$d + + if [ $? != 0 ]; then + (>&2 echo "${NAME} is not running!") + RETVAL=1 + fi +} + +connect() { + cd ${HOME} + + COOKIE=`su -s /bin/bash -c "${BIN_FILE} eval 'erlang:get_cookie()'" ${USER}` + export COOKIE_ARG="-setcookie ${COOKIE}" + + su -s /bin/bash -c "${BIN_FILE} remote_console" ${USER} + + if [ $? != 0 ]; then + (>&2 echo "${NAME} is not running!") + RETVAL=1 + fi +} + +attach() { + cd ${HOME} + su -s /bin/bash -c "${BIN_FILE} attach" ${USER} + + if [ $? != 0 ]; then + (>&2 echo "${NAME} is not running!") + RETVAL=1 + fi +} + +ping() { + cd ${HOME} + + COOKIE=`su -s /bin/bash -c "${BIN_FILE} eval 'erlang:get_cookie()'" ${USER}` + export COOKIE_ARG="-setcookie ${COOKIE}" + + su -s /bin/bash -c "${BIN_FILE} ping" ${USER} + + if [ $? != 0 ]; then + (>&2 echo "${NAME} is not running!") + RETVAL=1 + fi +} + +pid() { + cd ${HOME} + + COOKIE=`su -s /bin/bash -c "${BIN_FILE} eval 'erlang:get_cookie()'" ${USER}` + export COOKIE_ARG="-setcookie ${COOKIE}" + + su -s /bin/bash -c "${BIN_FILE} pid" ${USER} + + if [ $? != 0 ]; then + (>&2 echo "${NAME} is not running!") + RETVAL=1 + fi +} + +foreground() { + cd ${HOME} + + export CODE_LOADING_MODE=interactive + su -s /bin/bash -c "${BIN_FILE} foreground" ${USER} +} + +case "$1" in + start) + start "start" + ;; + stop) + stop + ;; + status) + status + ;; + restart) + restart + ;; + connect) + connect + ;; + attach) + attach + ;; + ping) + ping + ;; + pid) + pid + ;; + foreground) + foreground + ;; + *) + echo "Usage: $0 (start|stop|restart|status|connect|attach|ping|pid|foreground)" + RETVAL=1 +esac + +exit ${RETVAL}