xcat-core/xCAT/postscripts/xcatpostinit

72 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
# chkconfig: 345 84 59
# description: service node postboot script hack
# processname: xcatpostinit
### BEGIN INIT INFO
# Provides: xcatpostinit
# Default-Start: 3 4 5
# Default-stop: 0 1 2 6
# Required-Start: gettyset
# Required-Stop:
# Short-Description: xCATpost
# Description: xCAT post boot script
### END INIT INFO
# Source function library.
if [ -x /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
fi
logger -t xcat "$0: action is $1"
case $1 in
restart)
$0 stop
$0 start
;;
status)
echo -n "xcatpostinit runs only at boot, runs additional post scripts"
logger -t xcat "xcatpostinit runs only at boot, runs additional post scripts"
;;
stop)
echo -n "nothing to stop "
logger -t xcat "nothing to stop"
;;
start)
# For nodes that unmount/remove /tmp at install time, like ubuntu
#cp /root/mypostscript* /tmp/.
# Node is stateless by default
STATELITE="No"
# Node is statelite if /proc/cmdline have flag `STATEMNT='
STATELITE_FLAG="STATEMNT="
# Script to direct further actions
SCRIPT="/opt/xcat/xcatdsklspost"
# Usefull information passed as kernel arguments
if [ -f "/proc/cmdline" ]; then
if grep --quiet --no-messages "$STATELITE_FLAG" "/proc/cmdline"; then
STATELITE="Yes"
fi
fi
# Test for script existance
if ! [ -x "$SCRIPT" ]; then
msg "can't locate executable $SCRIPT"
exit -1
fi
# Run $SCRIPT according to node type
if [ -n "$STATELITE" -a -z "${STATELITE/[yY][eE][sS]/}" ]; then
logger -t xCAT "Call $SCRIPT for statelite mode"
"$SCRIPT" 4
else
logger -t xCAT "Call $SCRIPT for stateless mode"
"$SCRIPT"
fi
;;
esac