blob: 88ccea42b65e82e3c41905ad9f08a620a65336bd [file] [log] [blame]
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: openwsmand
# Required-Start: $remote_fs
# Required-Stop: $network
# Default-Start: 2 3 5
# Default-Stop: 0 1 6
# Short-Description: Openwsman Daemon
# Description: openwsmand
# Start/Stop the Openwsman Daemon
### END INIT INFO
#
#
# chkconfig: 2345 36 64
# description: Openwsman Daemon
# processname: openwsmand
NAME=openwsmand
DAEMON=/usr/sbin/$NAME
OPTIONS=-S # with SSL
PIDFILE=/var/run/$NAME.pid
lsb=0
if [ $EUID != 0 ]; then
echo "This script must be run as root."
exit 1;
fi
if [ "$DESCRIPTIVE" = "" ]; then
DESCRIPTIVE="Openwsman Daemon"
fi
lockfile=${X1}{SVIlock:-/var/lock/subsys/$NAME}
[ -x $DAEMON ] || exit 0
if [ -f /etc/rc.status ]; then
# LSB conformant system
lsb=1
# See how we were called.
. /etc/rc.status
# Reset status of this service
rc_reset
fi
start()
{
if [ ! -f "@WSMANCONF_DIR@/serverkey.pem" ]; then
if [ -f "/etc/ssl/servercerts/servercert.pem" \
-a -f "/etc/ssl/servercerts/serverkey.pem" ]; then
echo "Using common server certificate /etc/ssl/servercerts/servercert.pem"
ln -s /etc/ssl/servercerts/server{cert,key}.pem @WSMANCONF_DIR@
else
echo "FAILED: Starting openwsman server"
echo "There is no ssl server key available for openwsman server to use."
echo -e "Please generate one with the following script and start the openwsman service again:\n"
echo "##################################"
echo "/etc/openwsman/owsmangencert.sh"
echo "================================="
echo "NOTE: The script uses /dev/random device for generating some random bits while generating the server key."
echo " If this takes too long, you can replace the value of \"RANDFILE\" in @SYSCONFDIR@/ssleay.cnf with /dev/urandom. Please understand the implications of replacing the RNADFILE."
fi
fi
# Start daemons.
echo -n "Starting the $DESCRIPTIVE"
if [ $lsb -ne 0 ]; then
startproc -p $PIDFILE $DAEMON $OPTIONS> /dev/null 2>&1
rc_status -v
else
$DAEMON -S && echo " done." || echo " failed."
fi
}
stop()
{
# Stop daemons.
echo -n "Shutting down $DESCRIPTIVE "
if [ $lsb -ne 0 ]; then
killproc -TERM $DAEMON
rc_status -v
else
kill -9 `pidof openwsmand` > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo " done"
fi
fi
}
case "$1" in
start)
start
touch $lockfile
;;
stop)
stop
rm -f $lockfile
;;
restart)
stop
start
;;
force-reload)
stop
start
;;
reload)
echo -n "Reload service $DESCRIPTIVE"
if [ $lsb -ne 0 ]; then
killproc -HUP $DAEMON
rc_status -v
else
killall -HUP openwsmand && echo " done." || echo " failed."
fi
;;
status)
echo -n "Checking for service $DESCRIPTIVE"
if [ $lsb -ne 0 ]; then
checkproc $DAEMON
rc_status -v
else
pidof openwsmand > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo " running"
else
echo " stopped"
fi
fi
;;
condrestart)
[ -e $lockfile ] && restart
;;
*)
echo "Usage: $0 {restart|start|stop|reload|force-reload|status|condrestart}"
esac
if [ $lsb -ne 0 ]; then
rc_exit
else
exit 0
fi