From f178ab1677cb18c13afc02dee22692c4a80bac16 Mon Sep 17 00:00:00 2001 From: Sinisa Veseli <sveseli@aps.anl.gov> Date: Fri, 26 Jun 2015 20:08:07 +0000 Subject: [PATCH] add mongo and catalog service startup scripts --- etc/init.d/dm-cat-web-service | 123 ++++++++++++++++++++++++++++++++ etc/init.d/dm-mongodb | 127 ++++++++++++++++++++++++++++++++++ sbin/catWebService.py | 1 + 3 files changed, 251 insertions(+) create mode 100755 etc/init.d/dm-cat-web-service create mode 100755 etc/init.d/dm-mongodb create mode 120000 sbin/catWebService.py diff --git a/etc/init.d/dm-cat-web-service b/etc/init.d/dm-cat-web-service new file mode 100755 index 00000000..4f5dc10c --- /dev/null +++ b/etc/init.d/dm-cat-web-service @@ -0,0 +1,123 @@ +#!/bin/bash + +# +# dm-cat-web-service +# +# Starts the DM WebService daemon +# +# chkconfig: 345 98 98 +# description: controls DM Web Service daemon + +### BEGIN INIT INFO +# Provides: dm-cat-web-service +# Required-Start: $local_fs $network +# Required-Stop: $local_fs $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Description: Controls DM CAT Web Service daemon +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +# Arguments +ACTION=$1 +DM_DB_NAME=$2 +DM_DB_NAME=${DM_DB_NAME:=dm} + +# Set root to default if needed. +MY_DIR=`dirname $0` && cd $MY_DIR && MY_DIR=`pwd` +if [ -z "${DM_ROOT_DIR}" ]; then + DM_ROOT_DIR=$MY_DIR/../.. +fi + +# Source environment file. +DM_USER=`id -nu` +DM_HOST=`hostname -s` +DM_ENV_FILE=${DM_ROOT_DIR}/setup.sh +if [ ! -f ${DM_ENV_FILE} ]; then + echo "Environment file ${DM_ENV_FILE} does not exist." + exit 2 +fi +. ${DM_ENV_FILE} > /dev/null + +mkdir -p ${DM_INSTALL_DIR}/var/run +mkdir -p ${DM_INSTALL_DIR}/var/log + +DM_DAEMON_NAME="${DM_DB_NAME}.CatWebService" +DM_DAEMON_CMD=${DM_ROOT_DIR}/sbin/catWebService.py +DM_PID_FILE=${DM_INSTALL_DIR}/var/run/${DM_DB_NAME}.cat-web-service.pid +DM_CONFIG_FILE=${DM_INSTALL_DIR}/etc/${DM_DB_NAME}.cat-web-service.conf +DM_DAEMON_START_ARGS="-d -p $DM_PID_FILE --config-file $DM_CONFIG_FILE" + +# Determine su command +SU=su +if [ -x /sbin/runuser ]; then + SU=runuser +fi + +RETVAL=0 +start() { + # Check if service is already running + status -p $DM_PID_FILE > /dev/null 2>&1 + if [ $? -eq 0 ]; then + PID=`cat $DM_PID_FILE` + echo $"$DM_DAEMON_NAME daemon is already running (pid: $PID)." + RETVAL=1 + return $RETVAL + fi + echo -n $"Starting $DM_DAEMON_NAME daemon: " + # Check if we're a privileged user + if [ `id -u` = 0 -a ${DM_USER} != "root" ]; then + $SU -m -c "${DM_DAEMON_CMD} ${DM_DAEMON_START_ARGS}" ${DM_USER} + else + ${DM_DAEMON_CMD} ${DM_DAEMON_START_ARGS} + fi + RETVAL=$? + [ $RETVAL -eq 0 ] && success $"$DM_DAEMON_NAME startup" || failure $"$DM_DAEMON_NAME startup" + echo + return $RETVAL +} + +stop() { + # Check if service is already running + status -p $DM_PID_FILE > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo $"$DM_DAEMON_NAME daemon is not running." + RETVAL=1 + return $RETVAL + fi + echo -n $"Stopping $DM_DAEMON_NAME daemon: " + PID=`cat $DM_PID_FILE` + kill $PID + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f $DM_PID_FILE && success $"$DM_DAEMON_NAME shutdown" || failure $"$DM_DAEMON_NAME shutdown" + echo + return $RETVAL +} + +restart() { + stop + start +} + +case "$ACTION" in + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + status) + status -p $DM_PID_FILE "$DM_DAEMON_NAME" + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|status|restart}" + RETVAL=2 +esac + +exit $RETVAL diff --git a/etc/init.d/dm-mongodb b/etc/init.d/dm-mongodb new file mode 100755 index 00000000..30ac83a5 --- /dev/null +++ b/etc/init.d/dm-mongodb @@ -0,0 +1,127 @@ +#!/bin/bash + +# +# dm-mongodb +# +# Starts the DM Mongo DB daemon +# +# chkconfig: 345 98 98 +# description: controls DM Mongo DB daemon + +### BEGIN INIT INFO +# Provides: dm-daq-web-service +# Required-Start: $local_fs $network +# Required-Stop: $local_fs $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Description: Controls DM Mongo DB daemon +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +# Arguments +ACTION=$1 + +# Set root to default if needed. +MY_DIR=`dirname $0` && cd $MY_DIR && MY_DIR=`pwd` +if [ -z "${DM_ROOT_DIR}" ]; then + DM_ROOT_DIR=$MY_DIR/../.. +fi + +# Source environment file. +DM_USER=`id -nu` +DM_HOST=`hostname -s` +DM_ENV_FILE=${DM_ROOT_DIR}/setup.sh +if [ ! -f ${DM_ENV_FILE} ]; then + echo "Environment file ${DM_ENV_FILE} does not exist." + exit 2 +fi +. ${DM_ENV_FILE} > /dev/null + +mkdir -p ${DM_INSTALL_DIR}/var/run +mkdir -p ${DM_INSTALL_DIR}/var/log + +DM_MONGODB_HOST=${DM_MONGODB_HOST:=127.0.0.1} +DM_MONGODB_PORT=${DM_MONGODB_PORT:=27017} +DM_MONGODB_DIR=${DM_SUPPORT_DIR}/mongodb/${DM_HOST_ARCH} +DM_MONGODB_DATA_DIR=${DM_MONGODB_DIR}/data +mkdir -p ${DM_MONGODB_DATA_DIR} + +DM_DAEMON_NAME="DM MongoDB" +DM_DAEMON_CMD=${DM_MONGODB_DIR}/bin/mongod +DM_DAEMON_PID_FILE=${DM_INSTALL_DIR}/var/run/mongodb.pid +DM_DAEMON_LOG_FILE=${DM_INSTALL_DIR}/var/log/mongodb.log +DM_DAEMON_START_ARGS="--fork --pidfilepath $DM_DAEMON_PID_FILE --logpath $DM_DAEMON_LOG_FILE --bind_ip $DM_MONGODB_HOST --port $DM_MONGODB_PORT --dbpath $DM_MONGODB_DATA_DIR" + +# Determine su command +SU=su +if [ -x /sbin/runuser ]; then + SU=runuser +fi + +RETVAL=0 +start() { + # Check if service is already running + status -p $DM_DAEMON_PID_FILE > /dev/null 2>&1 + if [ $? -eq 0 ]; then + PID=`cat $DM_DAEMON_PID_FILE` + echo $"$DM_DAEMON_NAME daemon is already running (pid: $PID)." + RETVAL=1 + return $RETVAL + fi + echo -n $"Starting $DM_DAEMON_NAME daemon: " + # Check if we're a privileged user + if [ `id -u` = 0 -a ${DM_USER} != "root" ]; then + $SU -m -c "${DM_DAEMON_CMD} ${DM_DAEMON_START_ARGS}" ${DM_USER} + else + ${DM_DAEMON_CMD} ${DM_DAEMON_START_ARGS} + fi + RETVAL=$? + [ $RETVAL -eq 0 ] && success $"$DM_DAEMON_NAME startup" || failure $"$DM_DAEMON_NAME startup" + echo + return $RETVAL +} + +stop() { + # Check if service is already running + status -p $DM_DAEMON_PID_FILE > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo $"$DM_DAEMON_NAME daemon is not running." + RETVAL=1 + return $RETVAL + fi + echo -n $"Stopping $DM_DAEMON_NAME daemon: " + PID=`cat $DM_DAEMON_PID_FILE` + kill $PID + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f $DM_DAEMON_PID_FILE && success $"$DM_DAEMON_NAME shutdown" || failure $"$DM_DAEMON_NAME shutdown" + echo + return $RETVAL +} + +restart() { + stop + start +} + +case "$ACTION" in + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + status) + status -p $DM_DAEMON_PID_FILE "$DM_DAEMON_NAME" + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|status|restart}" + RETVAL=2 +esac + +exit $RETVAL diff --git a/sbin/catWebService.py b/sbin/catWebService.py new file mode 120000 index 00000000..7d6a444c --- /dev/null +++ b/sbin/catWebService.py @@ -0,0 +1 @@ +../src/python/dm/cat_web_service/service/catWebService.py \ No newline at end of file -- GitLab