summaryrefslogtreecommitdiff
path: root/scripts/ipmi_info
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/ipmi_info')
-rwxr-xr-xscripts/ipmi_info124
1 files changed, 124 insertions, 0 deletions
diff --git a/scripts/ipmi_info b/scripts/ipmi_info
new file mode 100755
index 0000000..b3b3f9a
--- /dev/null
+++ b/scripts/ipmi_info
@@ -0,0 +1,124 @@
+#! /bin/sh
+#
+# ipmi_info
+#
+# chkconfig: 345 91 07
+# description: ipmi_info saves the OS info (hostname, OS release) into
+# the IPMI System Info variables, if supported.
+# It does nothing if IPMI System Info is not supported.
+#
+### BEGIN INIT INFO
+# Provides: ipmi_info
+# Required-Start: $local_fs $network $remote_fs
+# Required-Stop: $local_fs $network $remote_fs
+# Default-Start:
+# Default-Stop:
+# Short-Description: ipmi_info saves OS info to the IPMI system info
+# Description: ipmi_info saves OS info to the IPMI system info
+### END INIT INFO
+
+name=ipmi_info
+iuprog=/usr/bin/ipmiutil
+tmp=/tmp/ipmi_info.tmp
+
+getosver() {
+ if [ -f /etc/os-release ]; then
+ . /etc/os-release
+ echo "${NAME} ${VERSION} kernel ${KERNEL_VERSION}"
+ elif [ -f /etc/redhat-release ]; then
+ cat /etc/redhat-release |head -n1
+ elif [ -f /etc/SuSE-release ]; then
+ cat /etc/SuSE-release |head -n1
+ elif [ -f /etc/mvl-release ]; then
+ sver=`grep Monta /etc/mvl-release |awk '{ print $4 }' |cut -f1 -d'.'`
+ echo "Monta Vista Linux version $sver"
+ elif [ -f /etc/debian_version ]; then
+ sver=`grep Debian /etc/issue |awk '{ print $3 }'`
+ echo "Debian Linux version $sver"
+ else
+ sver=`uname -r`
+ styp=`uname -s`
+ echo "$styp $sver"
+ fi
+}
+
+start()
+{
+ echo -n $"Starting $name: "
+ echo
+ retval=0
+ PID=0
+
+ ${iuprog} health -i >$tmp 2>&1
+ if [ $? -eq 0 ]; then
+ name=`hostname`
+ os=`getosver`
+ echo "setting name=$name, os=$os ..." >>$tmp
+ ${iuprog} health -n "$name" >>$tmp 2>&1
+ ${iuprog} health -o "$os" >>$tmp 2>&1
+ else
+ # IPMI System Info is not supported.
+ retval=0
+ fi
+ echo
+ return $retval
+}
+
+stop()
+{
+ echo -n $"Stopping $name: "
+ echo
+ retval=0
+ echo
+ return $retval
+}
+
+restart()
+{
+ stop
+ start
+}
+
+rh_status() {
+ echo "$name is stopped"
+ retval=3
+ return $retval
+}
+
+rh_status_q() {
+ rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ start
+ ;;
+ stop)
+ rh_status_q || exit 0
+ stop
+ ;;
+ status)
+ rh_status
+ ;;
+ restart)
+ restart
+ ;;
+ reload)
+ rh_status_q || exit 7
+ restart
+ ;;
+ force_reload)
+ restart
+ ;;
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+
+exit $?
+