Commit | Line | Data |
---|---|---|
4e802319 | 1 | #!/bin/sh |
2 | ||
3 | PROGNAME=$(basename $0) | |
4 | ||
5 | # check binary directory | |
6 | ||
7 | mydir=$(dirname $0) | |
8 | mydir=$(cd $mydir; pwd) | |
9 | ||
10 | # formating functions | |
11 | ||
016d4810 | 12 | _echo () { printf "$@\n"; } |
4e802319 | 13 | title () { _echo "\033[0;1m$*\033[0;0m"; } |
14 | pass () { _echo "\033[1;32m$*\033[0;0m"; } | |
15 | warn () { _echo "\033[1;33m$*\033[0;0m"; } | |
16 | fail () { _echo "\033[1;31m$*\033[0;0m"; } | |
17 | ||
18 | usage () { | |
19 | echo "usage: $PROGNAME [-h] [-y] [-Y]" | |
20 | echo " -h: help message" | |
21 | echo " -y: really do update" | |
22 | echo " -Y: do not ask for confirmation" | |
23 | exit $@ | |
24 | } | |
25 | ||
26 | # do command | |
27 | ||
28 | do_cmd () { | |
29 | if [ "$DUMMY" = "no" ]; then | |
30 | warn $@ | |
31 | { eval $@; } && pass OK || { fail KO; exit 1; } | |
32 | else | |
33 | echo ":: $@" | |
34 | fi | |
35 | } | |
36 | ||
37 | # argument processing | |
38 | ||
39 | while [ $# -gt 0 ]; do | |
40 | case "$1" in | |
41 | -h) usage 0;; | |
42 | -y) DUMMY=no;; | |
43 | -Y) ANS=yes | |
44 | esac | |
45 | shift | |
46 | done | |
47 | [ "$DUMMY" = "no" ] && \ | |
48 | fail "Real mode, things will really append" || \ | |
49 | warn "Dummy mode, nothing will be done" | |
50 | if [ ! "$ANS" = "yes" ]; then | |
016d4810 TPVT |
51 | printf "Press 'y' to continue: " |
52 | read ANS | |
4e802319 | 53 | [ "$ANS" = "y" ] || exit 1 |
54 | fi | |
55 | ||
56 | ID=$(getent hosts $(hostname -s) | sed 's/.*\.\([0-9]*\)\s.*/\1/') | |
57 | [ "$ID" ] || ID=254 | |
58 | title "Host ID: $ID" | |
59 | ||
60 | title "Configure IPMI" | |
61 | do_cmd $mydir/ipmicfg.sh -dhcp off | |
62 | do_cmd $mydir/ipmicfg.sh -vlan off | |
63 | do_cmd $mydir/ipmicfg.sh -m 10.133.25.$ID | |
64 | do_cmd $mydir/ipmicfg.sh -k 255.255.255.0 | |
65 | #do_cmd $mydir/ipmicfg.sh -g 10.133.26.231 | |
66 | do_cmd $mydir/ipmicfg.sh -g 0.0.0.0 | |
67 | do_cmd $mydir/ipmicfg.sh -fan 3 |