#!/bin/sh
# Start/stop the thermos-observer daemon.
#
### BEGIN INIT INFO
# Provides:          thermos
# Required-Start:    $remote_fs $syslog $time
# Required-Stop:     $remote_fs $syslog $time
# Should-Start:      $network $named slapd autofs ypbind nscd nslcd
# Should-Stop:       $network $named slapd autofs ypbind nscd nslcd
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Thermos observer daemon
# Description:       Thermos observer is a component of Apache Aurora. It
#                    provides administrative visibility into the status of
#                    running tasks on mesos-slave nodes.
### END INIT INFO

PATH=/bin:/usr/bin:/sbin:/usr/sbin
DESC="Aurora Thermos observer"
NAME=thermos
DAEMON=/usr/sbin/thermos_observer
PIDFILE=/var/run/aurora-observer.pid
SCRIPTNAME=/etc/init.d/"$NAME"

test -f $DAEMON || exit 0

. /lib/lsb/init-functions

if which initctl >/dev/null && initctl version | grep -q upstart; then
  if test -e /lib/init/upstart-job -a -e /etc/init/${NAME}.conf; then
    . /lib/init/upstart-job
    exit $?
  fi
fi

[ -r /etc/default/thermos ] && . /etc/default/thermos

ARGS="--port=${OBSERVER_PORT:-1338}
      --mesos-root=${MESOS_ROOT:-/var/lib/mesos}
      --app_daemonize
      --app_pidfile=$PIDFILE
      --log_to_disk=NONE
      --log_to_stderr=google:INFO
      ${EXTRA_THERMOS_OBSERVER_ARGS}"

case "$1" in
  start)
    log_daemon_msg "Starting $DESC $NAME with $ARGS"
    mkdir -p /var/log/aurora
    start_daemon -p $PIDFILE $DAEMON $ARGS
    log_end_msg $?
    ;;
  stop)
    log_daemon_msg "Stopping $DESC $NAME"
    killproc -p $PIDFILE $DAEMON
    RETVAL=$?
    [ $RETVAL -eq 0 ] && [ -e "$PIDFILE" ] && rm -f $PIDFILE
    log_end_msg $RETVAL
    ;;
  restart|force-reload) log_daemon_msg "Restarting $DESC" "$NAME"
    $0 stop
    $0 start
    ;;
  status)
    status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
    ;;
  *)
    log_action_msg "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}"
    exit 2
    ;;
esac
exit 0
