add gateway in clovis-lite dhcp
[debian6500.git] / master / opt / script / change_configuration
1 #!/bin/bash
2 # ============================================================================
3 #
4 # Copyright (C) THALES. All rights reserved
5 # Author: Laurent Mazet
6 #
7
8 # Date : 10/10/2013
9 #
10 # 05/11/2013 : LMa configuration des timezone Zulu(GMT) et Paris
11 # Desactivation de pam pour ssh
12 # ============================================================================
13
14 # Switch configuration
15
16 # TODO
17 # *
18
19 MODE_BW=""
20 MODE_FIX=""
21 MODE_HW=""
22 MODE_NET=""
23 MODE_TZ=""
24 TARBALLS=""
25 PROGNAME=$(basename $0)
26 VER=1.0
27 TMPLOG=/tmp/$PROGNAME-$$.log
28
29 # help function
30
31 function usage () {
32 echo "usage: $PROGNAME <mode>"
33 echo " switch trc6500 mode"
34 echo " avaliable modes are:"
35 echo " - 8MHzMHF, 12MHzDF, 12MHzMDF, 30MHzMDF 30MHzMDF.lite or 30MHzMHF"
36 echo " - fix_ssh"
37 echo " - hw_ibm or hw_supermicro"
38 echo " - network"
39 echo " - tz_zulu or tz_paris"
40 exit $@
41 }
42
43 # formating functions
44
45 function title () { echo -e "\033[0;1m$*\033[0;0m"; }
46 function pass () { echo -e "\033[1;32m$*\033[0;0m"; }
47 function warn () { echo -e "\033[1;33m$*\033[0;0m"; }
48 function fail () { echo -e "\033[1;31m$*\033[0;0m"; }
49
50 # check command
51
52 function check () {
53 echo -n "$@: "
54 $@ 2>$TMPLOG && pass OK || { fail KO; cat $TMPLOG; exit 1; }
55 rm -f $TMPLOG
56 }
57
58 # argument processing
59
60 while [ $# -gt 0 ]; do
61 case "$1" in
62 -h) usage 0;;
63 8mhz|8MHz|12mhzdf|12MHzDF|12mhzmdf|12MHzMDF|30mhzmdf|30MHzMDF|30mhzmdf.lite|30MHzMDF.lite|30mhzmhf|30MHzMHF)
64 MODE_BW="${1^^}"
65 MODE_BW=${MODE_BW/MHZ/MHz}
66 MODE_BW=${MODE_BW/LITE/lite}
67 ;;
68 fix_ssh) MODE_FIX="$1";;
69 hw_ibm|hw_supermicro) MODE_HW="$1";;
70 network) MODE_NET="$1";;
71 tz_paris|tz_zulu) MODE_TZ="$1";;
72 *) usage 1;;
73 esac
74 shift
75 done
76
77 # main process
78
79 action=""
80
81 if [ "$MODE_BW" ]; then
82 title "updating /etc/hosts"
83 check rm -f /etc/hosts
84 check ln -s /etc/hosts.$MODE_BW /etc/hosts
85 TARBALLS+=" root"
86 for ip in 0A851{A,C}; do check ln -T -f -s default /opt/tftp/pxelinux.cfg/$ip; done
87 case "$MODE_BW" in
88 8MHzMHF)
89 for ip in 0A851{A,C}A5; do check ln -T -f -s rec /opt/tftp/pxelinux.cfg/$ip; done
90 ;;
91 12MHzDF) ;;
92 12MHzMDF) ;;
93 30MHzMDF) ;;
94 30MHzMDF.lite)
95 for ip in 0A851{A,C}; do check ln -T -f -s lite /opt/tftp/pxelinux.cfg/$ip; done
96 ;;
97 30MHzMHF)
98 for ip in 0A851{A,C}A{1..6}; do check ln -T -f -s acq /opt/tftp/pxelinux.cfg/$ip; done
99 for ip in 0A851{A,C}A9; do check ln -T -f -s rec /opt/tftp/pxelinux.cfg/$ip; done
100 ;;
101 esac
102 check cp /etc/dhcp/dhcpd.conf.$MODE_BW /etc/dhcp/dhcpd.conf
103 action="done"
104 fi
105
106 if [ "$MODE_FIX" ]; then
107
108 case "$MODE_FIX" in
109 fix_ssh)
110 sed -i 's/^\(UsePAM\) yes/\1 no/' /etc/ssh/sshd_config
111 TARBALLS+=" root"
112
113 action="done"
114 esac
115
116 fi
117
118 if [ "$MODE_HW" ]; then
119
120 conf=/etc/default/shutdownallblades
121
122 title "change shutdownallblades"
123 if $(grep -sq '^#*REBOOT=' $conf); then
124 case "$MODE_HW" in
125 hw_ibm) check sed -i 's/^#*REBOOT=.*$/#REBOOT=yes/' $conf;;
126 hw_supermicro) check sed -i 's/^#*REBOOT=.*$/REBOOT=yes/' $conf;;
127 esac
128 else
129 case "$MODE_HW" in
130 hw_ibm) check sed -i '$a#REBOOT=yes' $conf;;
131 hw_supermicro) check sed -i '$aREBOOT=yes' $conf;;
132 esac
133 fi
134
135 action="done"
136 fi
137
138 if [ "$MODE_NET" ]; then
139
140 conf=/etc/dhcp/dhcpd.conf
141
142 title "update network configuraton"
143 if $(grep -sq 'trc[0-9]*_1' $conf); then
144 check sed -i 's/\(host.*trc[0-9][0-9]\)\([^_]\)/\1-rf\2/;s/\(host.*trc[0-9][0-9]\)_1/\1/' $conf
145 fi
146 TARBALLS+=" root"
147
148 action="done"
149 fi
150
151 if [ "$MODE_TZ" ]; then
152 case "$MODE_TZ" in
153 tz_paris) TZ="Europe/Paris";;
154 tz_zulu) TZ="Etc/Zulu";;
155 *) TZ="";;
156 esac
157
158 if [ "$TZ" ]; then
159 echo $TZ > /etc/timezone
160 TARBALLS+=" root"
161
162 action="done"
163 fi
164 fi
165
166 # last check
167 [ "$action" ] || { echo "no mode specified"; exit 1; }
168
169 [ "$TARBALLS" ] && make -f /opt/cluster/Makefile $TARBALLS
170
171 # vim:set tabstop=4 expandtab shiftwidth=4: