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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
"Welcome to our mercurial repository"