testing: Updated all swanctl scenarios and added some new ones
[strongswan.git] / testing / scripts / load-testconfig
1 #!/bin/bash
2 # Load test specific host configurations
3 #
4 # Copyright (C) 2004  Eric Marchionni, Patrik Rayo
5 # Zuercher Hochschule Winterthur
6 #
7 # This program is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by the
9 # Free Software Foundation; either version 2 of the License, or (at your
10 # option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
11 #
12 # This program is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 # for more details.
16
17 DIR=$(dirname `readlink -f $0`)
18 . $DIR/../testing.conf
19 . $DIR/function.sh
20 SSHCONF="-F $DIR/../ssh_config"
21
22 ##########################################################################
23 # load-testconfig requires a testname as an argument
24 #
25
26 testname=$1
27
28 TESTSDIR=$BUILDDIR/tests
29
30 [ -d $TESTSDIR ] || die "Directory '$TESTSDIR' not found"
31 [ -d $TESTSDIR/$testname ] || die "Test '$testname' not found"
32 [ -f $TESTSDIR/$testname/test.conf ] || die "File 'test.conf' is missing"
33
34 source $TESTSDIR/$testname/test.conf
35
36 ##########################################################################
37 # copy test specific configurations to uml hosts
38 #
39
40 if [ -d $TESTSDIR/$testname/hosts ]
41 then
42     for host in `ls $TESTSDIR/$testname/hosts`
43     do
44         eval HOSTLOGIN="root@`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $1 }' | awk '{ print $1 }'`"
45         scp $SSHCONF -r $TESTSDIR/$testname/hosts/$host/etc $HOSTLOGIN:/ > /dev/null 2>&1
46     done
47 fi
48
49
50 ##########################################################################
51 # clear auth.log and daemon.log where IKE messages are logged
52 #
53
54 for host in $IPSECHOSTS
55 do
56     eval HOSTLOGIN="root@`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $1 }' | awk '{ print $1 }'`"
57     ssh $SSHCONF $HOSTLOGIN 'rm -f /var/log/auth.log /var/log/daemon.log; \
58                     kill -SIGHUP `cat /var/run/rsyslogd.pid`' > /dev/null 2>&1
59 done
60
61
62 ##########################################################################
63 # clear daemon.log and radius.log on FreeRadius servers
64 #
65
66 for host in $RADIUSHOSTS
67 do
68     eval HOSTLOGIN="root@`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $1 }' | awk '{ print $1 }'`"
69     ssh $SSHCONF $HOSTLOGIN 'rm -f /var/log/daemon.log /var/log/freeradius/radius.log; \
70                     kill -SIGHUP `cat /var/run/rsyslogd.pid`' > /dev/null 2>&1
71 done