Mercurial > hg > fD-testbed
annotate mrb/update_all_vm.sh @ 0:9e5a3c884de6
Initial import of the virtual testbed.
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Thu, 17 Jun 2010 11:00:32 +0900 |
parents | |
children | 7b569c198c7c |
rev | line source |
---|---|
0
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
1 #!/bin/bash |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
2 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
3 echo "" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
4 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
5 # The root of the testbed, which provides internet access |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
6 MGR="__mgr.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
7 # Root of each testbed which isolates the VMs from the other testbeds |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
8 MGRS="" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
9 # The list of all VMs |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
10 VMS="" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
11 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
12 for testb in "$@"; do |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
13 case "$testb" in |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
14 simple) |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
15 # The simple testbed |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
16 MGRS="$MGRS simple-simplemgr.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
17 VMS="$VMS simple-cli.simple.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
18 VMS="$VMS simple-serv.simple.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
19 ;; |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
20 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
21 rt) |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
22 # The routing testbed |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
23 MGRS="$MGRS rt-rtmgr.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
24 VMS="$VMS rt-nas.a.rt.testbed.aaa rt-proxy.a.rt.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
25 VMS="$VMS rt-proxy.b.rt.testbed.aaa rt-serv.b.rt.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
26 ;; |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
27 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
28 rtsup) |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
29 # The routing testbed |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
30 VMS="$VMS rt-relay.a.rt.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
31 # VMS="$VMS rt-relay.b.rt.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
32 VMS="$VMS rt-proxy.c.rt.testbed.aaa rt-relay.c.rt.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
33 ;; |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
34 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
35 eap) |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
36 # The EAP testbed |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
37 MGRS="$MGRS eap-eapmgr.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
38 VMS="$VMS supauth.eap.testbed.aaa gw.eap.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
39 VMS="$VMS backend.eap.testbed.aaa opendiam.eap.testbed.aaa" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
40 ;; |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
41 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
42 *) |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
43 echo "Unknown testbed subset $testb" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
44 ;; |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
45 esac |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
46 done |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
47 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
48 if [ -z "$VMS" ]; |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
49 then echo "Please specify a VM subset such as: rt, rtsup, simple, ..."; |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
50 exit 1; |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
51 fi |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
52 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
53 # OK let's start the VMS now. |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
54 echo "Starting all VMs" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
55 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
56 # The keyboard scancodes for "aptitude update && aptitude dist-upgrade -y &&" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
57 UPDATE_SC="1e 9e 19 99 14 94 17 97 14 94 16 96 20 a0 12 92 39 b9" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
58 UPDATE_SC="$UPDATE_SC 16 96 19 99 20 a0 1e 9e 14 12 92 39 b9" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
59 UPDATE_SC="$UPDATE_SC 1c 9c" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
60 UPGRADE_SC="1e 9e 19 99 14 94 17 97 14 94 16 96 20 a0 12 92 39 b9" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
61 UPGRADE_SC="$UPGRADE_SC 20 a0 17 97 1f 9f 14 94 0c 8c 16 96 19 99 22 a2 13 93 1e 9e 20 a0 12 92 39 b9 0c 8c 15 95 39 b9" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
62 UPGRADE_SC="$UPGRADE_SC 2a 07 87 07 87 aa 39 b9" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
63 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
64 start_and_update() { |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
65 ./vm_start.sh "$1" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
66 VBoxManage controlvm "$1" keyboardputscancode $UPDATE_SC >/dev/null |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
67 } |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
68 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
69 upgrade_and_stop() { |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
70 VBoxManage controlvm "$1" keyboardputscancode $UPGRADE_SC >/dev/null & |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
71 ./vm_stop.sh "$1" nochgcns waitterm |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
72 } |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
73 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
74 # Start the VMs by hierarchical order |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
75 start_and_update "$MGR" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
76 for VM in $MGRS; do |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
77 start_and_update "$VM" & |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
78 sleep 15 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
79 done |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
80 wait |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
81 for VM in $VMS; do |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
82 start_and_update "$VM" & |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
83 sleep 15 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
84 done |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
85 wait |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
86 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
87 # upgrade and stop in reverse order |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
88 for VM in $VMS; do |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
89 upgrade_and_stop "$VM" & |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
90 done |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
91 wait |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
92 for VM in $MGRS; do |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
93 upgrade_and_stop "$VM" & |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
94 done |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
95 wait |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
96 upgrade_and_stop "$MGR" |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
97 |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
98 #All done! |
9e5a3c884de6
Initial import of the virtual testbed.
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
99 exit 0 |