X-Git-Url: https://secure.softndesign.org/git/?a=blobdiff_plain;f=master%2Fopt%2Fipmi%2Fupdate_blade_cfg.sh;fp=master%2Fopt%2Fipmi%2Fupdate_blade_cfg.sh;h=9e899598e05e3003f8186156a08b03794b7aca9c;hb=a3300608811441c5238911ca14e56433ea4f4c5f;hp=0000000000000000000000000000000000000000;hpb=3a30026aa30355dac5c5f9742da0fdba797701ea;p=debian6500.git diff --git a/master/opt/ipmi/update_blade_cfg.sh b/master/opt/ipmi/update_blade_cfg.sh new file mode 100755 index 0000000..9e89959 --- /dev/null +++ b/master/opt/ipmi/update_blade_cfg.sh @@ -0,0 +1,67 @@ +#!/bin/sh + +PROGNAME=$(basename $0) + +# check binary directory + +mydir=$(dirname $0) +mydir=$(cd $mydir; pwd) + +# formating functions + +_echo () { [ "$(echo -e '')" ] && echo $@ || echo -e $@; } +title () { _echo "\033[0;1m$*\033[0;0m"; } +pass () { _echo "\033[1;32m$*\033[0;0m"; } +warn () { _echo "\033[1;33m$*\033[0;0m"; } +fail () { _echo "\033[1;31m$*\033[0;0m"; } + +usage () { + echo "usage: $PROGNAME [-h] [-y] [-Y]" + echo " -h: help message" + echo " -y: really do update" + echo " -Y: do not ask for confirmation" + exit $@ +} + +# do command + +do_cmd () { + if [ "$DUMMY" = "no" ]; then + warn $@ + { eval $@; } && pass OK || { fail KO; exit 1; } + else + echo ":: $@" + fi +} + +# argument processing + +while [ $# -gt 0 ]; do + case "$1" in + -h) usage 0;; + -y) DUMMY=no;; + -Y) ANS=yes + esac + shift +done +[ "$DUMMY" = "no" ] && \ + fail "Real mode, things will really append" || \ + warn "Dummy mode, nothing will be done" +if [ ! "$ANS" = "yes" ]; then + read -p "Press 'y' to continue: " ANS + [ "$ANS" = "y" ] || exit 1 +fi + +ID=$(getent hosts $(hostname -s) | sed 's/.*\.\([0-9]*\)\s.*/\1/') +[ "$ID" ] || ID=254 +title "Host ID: $ID" + +title "Configure IPMI" +do_cmd $mydir/ipmicfg.sh -dhcp off +do_cmd $mydir/ipmicfg.sh -vlan off +do_cmd $mydir/ipmicfg.sh -m 10.133.25.$ID +do_cmd $mydir/ipmicfg.sh -k 255.255.255.0 +#do_cmd $mydir/ipmicfg.sh -g 10.133.26.231 +do_cmd $mydir/ipmicfg.sh -g 0.0.0.0 +do_cmd $mydir/ipmicfg.sh -fan 3 +[ "$(which ipmitool)" ] && do_cmd ipmitool chassis policy always-on