#!/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)
        # 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