#!/bin/bash

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# chkconfig:	- 90 89
# description: chukwa agent

if [ -f /etc/init.d/functions ] ; then
        . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
        . /etc/rc.d/init.d/functions
else
        exit 0
fi

DAEMON=agent.sh

prog=chukwa-agent

config () {
        CHUKWA_HOME=/usr/local/chukwa
        CHUKWA_CONF_DIR=/usr/local/chukwa/conf
        CHUKWA_USER=chukwa
}

start () {
        echo -n $"Starting $prog: "
        config
        # start daemon
	su - ${CHUKWA_USER} -c "${CHUKWA_HOME}/bin/chukwa-daemon.sh --config=${CHUKWA_CONF_DIR} --watchdog start agent.sh"
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
        return $RETVAL
}

stop () {
        # stop daemon
        echo -n $"Stopping $prog: "
        config
	su - ${CHUKWA_USER} -c "${CHUKWA_HOME}/bin/chukwa-daemon.sh --config=${CHUKWA_CONF_DIR} --watchdog stop agent.sh"
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog
}

restart() {
        stop
        sleep 5
        start
}

case $1 in
        start)
                start
        ;;
        stop)
                stop
        ;;
        restart)
                restart
        ;;
        condrestart)
                [ -f /var/lock/subsys/$prog ] && restart || :
        ;;
        reload)
                echo -n $"Reloading $prog: "
                config
                echo "reloadCollectors" | nc localhost 9093 & kill -1
                RETVAL=$?
        ;;
        status)
                status $DAEMON
        ;;
        *)

        echo $"Usage: $prog {start|stop|restart|condrestart|reload|status}"
        exit 1
esac

exit $RETVAL

