fuel-library/files/fuel-umm/root/usr/bin/umm

97 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
. /usr/lib/umm/umm_vars
. /usr/lib/umm/umm_svc.local
Usage(){
echo "Usage
umm status - check MM status
umm on [command to execute in mm mode] - enforce MM mode.
umm off [reboot] - continue boot or [reboot] into operational mode
umm enable - enable MM functionality
umm disable - disable MM functionality
"
}
if [ ! "z$UMM" == "zyes" ] ; then
case $1 in
"status" )
echo "MM disabled"
;;
"on" | "off" | "disable" )
echo "MM already disabled"
exit 1
;;
"enable" )
sed -i 's/UMM=.*/UMM=yes/' /etc/umm.conf
;;
* )
Usage
;;
esac
else
case $1 in
"status" )
if [ -f $UMM_FLAG ] ; then
cat $UMM_FLAG
else
echo runlevel $(/sbin/runlevel)
fi
;;
"on" )
if [ ! -f $UMM_FLAG ] ; then
shift
[ -z "$*" ] || echo "$*" > $UMM_DATA/UMM_CMD
echo rebooting >>$UMM_FLAG
mkdir -p $UMM_DATA/
echo "1" >$UMM_DATA/UMM_ENFORCED
service corosync stop || true
reboot
else
echo MM already in state - $(cat $UMM_FLAG)
exit 1
fi
;;
"off" )
if [ -f $UMM_FLAG ] ; then
if [ x$(cat $UMM_FLAG) == xrebooting ] ; then
echo MM now in state - $(cat $UMM_FLAG)
else
rm $UMM_FLAG
if [ "x$2" == "xreboot" ] ; then
rm $UMM_DATA/UMM_DRC.var
service corosync stop || true
sleep 1
reboot
else
umm-off
fi
fi
else
echo "MM already in off state"
exit 1
fi
;;
"enable" )
echo "MM already enabled"
exit 1
;;
"disable" )
if [ -f $UMM_FLAG ] ; then
echo "Current state is $(cat $UMM_FLAG) switch off first "
exit 1
else
[ -f $UMM_DATA/UMM_ENFORCED ] && rm $UMM_DATA/UMM_ENFORCED
[ -f $UMM_DATA/UMM_CMD ] && rm $UMM_DATA/UMM_CMD
sed -i 's/UMM=.*/UMM=no/' /etc/umm.conf
fi
;;
* )
Usage
;;
esac
fi