mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-07-22 12:21:10 +00:00
59 lines
2.4 KiB
Bash
Executable File
59 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
|
|
# chkconfig: 345 84 59
|
|
# description: the hook for systemd service unit to run PB and report node status on diskful node
|
|
# processname: xcatpostinit1
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: xcatpostinit1
|
|
# Required-Start: $network $syslog
|
|
# Should-Start:
|
|
# Required-Stop: $network $syslog
|
|
# Should-Stop:
|
|
# Default-Start: 3 4 5
|
|
# Default-Stop: 0 1 2 6
|
|
# Short-Description: hook to run xcat PBS and report node status
|
|
# Description:
|
|
### END INIT INFO
|
|
|
|
# Source function library.
|
|
if [ -x /etc/rc.d/init.d/functions ]; then
|
|
. /etc/rc.d/init.d/functions
|
|
fi
|
|
|
|
[ -f /opt/xcat/xcatinfo ] && XCATSERVER=`grep 'XCATSERVER' /opt/xcat/xcatinfo |cut -d= -f2 | tr -d \'\" `
|
|
[ -f /xcatpost/mypostscript ] && NODESTATUS=`grep 'NODESTATUS=' /xcatpost/mypostscript |awk -F = '{print $2}'|tr -d \'\" | tr A-Z a-z `
|
|
[ -z "$NODESTATUS" ] && NODESTATUS="1"
|
|
[ -f /xcatpost/mypostscript ] && RUNBOOTSCRIPTS=`grep 'RUNBOOTSCRIPTS=' /xcatpost/mypostscript |awk -F = '{print $2}' | tr -d \'\" | tr A-Z a-z `
|
|
|
|
case $1 in
|
|
stop)
|
|
[ "$NODESTATUS" != "n" ] && /xcatpost/updateflag.awk $XCATSERVER 3002 "installstatus powering-off"
|
|
;;
|
|
start)
|
|
# check for the REBOOT specified in xcatinfo to run post boot scripts on reboot
|
|
if [ -f /opt/xcat/xcatinfo ]; then
|
|
REBOOT=`grep 'REBOOT' /opt/xcat/xcatinfo |cut -d= -f2 | tr -d \'\"`
|
|
fi
|
|
# if the xcatdsklspost file exists and this is a reboot - run xcatdsklspost with a mode of 6
|
|
if [ "$REBOOT" = "TRUE" -a -r /opt/xcat/xcatdsklspost ] && [[ "$RUNBOOTSCRIPTS" =~ ^(1|yes|y)$ ]]; then
|
|
[ "$NODESTATUS" != "n" ] && /xcatpost/updateflag.awk $XCATSERVER 3002 "installstatus postbooting"
|
|
# xcatdsklspost will set the status to 'booted' or 'failed'
|
|
/opt/xcat/xcatdsklspost 6
|
|
elif [ "$REBOOT" = "TRUE" ] && [[ "$NODESTATUS" =~ ^(1|yes|y)$ ]]; then
|
|
/xcatpost/updateflag.awk $XCATSERVER 3002 "installstatus booted"
|
|
else
|
|
[ "$NODESTATUS" != "n" ] && /xcatpost/updateflag.awk $XCATSERVER 3002 "installstatus postbooting"
|
|
# run /opt/xcat/xcatinstallpost, it will set the status to 'booted' or 'failed'
|
|
if [ -r /opt/xcat/xcatinstallpost ]; then
|
|
/opt/xcat/xcatinstallpost
|
|
fi
|
|
if [ -f /opt/xcat/xcatpostinit1.service.sles ]; then
|
|
rm -rf /etc/systemd/system/xcatpostinit1.service
|
|
mv /opt/xcat/xcatpostinit1.service.sles /etc/systemd/system/xcatpostinit1.service
|
|
fi
|
|
fi
|
|
|
|
;;
|
|
esac
|