blob: 916cb7bc42558571df968d68695cb40861ac5d3b [file] [log] [blame]
#!/bin/sh
#
# deltacloud-core Deltacloud API Core
# chkconfig: 345 90 60
# description: deltacloud-core is primary server process for the \
# Deltacloud Core component.
### BEGIN INIT INFO
# Provides: deltacloud-core
# Required-Start:
# Required-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Deltacloud Core API deamon
# Description: Deltacloud Core API provides access to different cloud providers \
# using single REST API
### END INIT INFO
. /etc/rc.d/init.d/functions
[ -r /etc/sysconfig/deltacloud-core ] && . /etc/sysconfig/deltacloud-core
exec="/usr/bin/deltacloudd"
prog="deltacloud-core"
[ ! -d /var/log/$prog ] && mkdir -p /var/log/$prog
# You can overide these variables using /etc/sysconfig/deltacloud-core
API_ENV="${API_ENV:-production}"
DRIVER="${DRIVER:-mock}"
PORT="${PORT:-3002}"
HOST="${HOST:-localhost}"
DELTACLOUD_USER="${DELTACLOUD_USER:-nobody}"
LOGFILE="${LOGFILE:-/var/log/$prog/$DRIVER.log}"
LOCKFILE="${LOCKFILE:-/var/lock/subsys/$prog}"
PIDFILE="${PIDFILE:-/var/run/deltacloud-core-$DRIVER.pid}"
[ -r $LOGFILE ] && chown nobody $LOGFILE
[ -r $LOCKFILE ] && chown nobody $LOCKFILE
start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog-$DRIVER: "
daemon "$exec -i $DRIVER -e $API_ENV --user $DELTACLOUD_USER --daemon --pid $PIDFILE --port $PORT --host $HOST"
retval=$?
if [ $retval -eq 0 ] && touch $LOCKFILE ; then
echo_success
echo
else
echo_failure
echo
fi
return $retval
}
stop() {
echo -n $"Shutting down $prog: "
if [ -f $PIDFILE ]; then
kill -3 `cat $PIDFILE`
retval=$?
if [ $retval -eq 0 ] && rm -f $LOCKFILE $PIDFILE; then
echo_success
echo
else
echo_failure
echo
fi
return $retval
else
echo_failure
echo
return 1
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
;;
force-reload)
restart
;;
status)
status -p $PIDFILE $prog
retval=$?
;;
*)
echo "Usage: $prog {start|stop|restart|status}"
exit 1
;;
esac
exit $retval