aboutsummaryrefslogtreecommitdiffstats
path: root/testing/start-testing
blob: 7ef35f9e49955a1c8a571cfa2533f8c2cbf67702 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash

DIR=$(dirname `readlink -f $0`)
. $DIR/testing.conf
. $DIR/scripts/function.sh

NETWORKS="vnet1 vnet2 vnet3"
CONFDIR=$DIR/config/kvm
KNLSRC=$BUILDDIR/$KERNEL/arch/x86/boot/bzImage
KNLTARGET=/var/run/kvm-swan-kernel
HOSTFSTARGET=/var/run/kvm-swan-hostfs
TESTRESTULSTARGET=/var/run/kvm-swan-testresults
MCASTBRS="test-br0 test-br1"

echo "Starting test environment"

[ `id -u` -eq 0 ] || die "You must be root to run $0"
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"

check_commands kvm virsh

[ -f $KNLSRC ] || die "Kernel $KNLSRC not found"
log_action "Deploying kernel $KERNEL"
execute "ln -fs $KNLSRC $KNLTARGET"

log_action "Deploying $SHAREDDIR as hostfs"
execute "chown -R $KVMUSER:$KVMGROUP $SHAREDDIR" 0
execute "ln -Tfs $SHAREDDIR $HOSTFSTARGET"

[ -d $TESTRESULTSDIR ] || mkdir $TESTRESULTSDIR
log_action "Deploying $TESTRESULTSDIR as hostfs"
execute "ln -Tfs $TESTRESULTSDIR $TESTRESTULSTARGET"

for net in $NETWORKS
do
	log_action "Network $net"
	execute "virsh net-create $CONFDIR/$net.xml"
done

for host in $STRONGSWANHOSTS
do
	ln -fs $IMGDIR/$host.$IMGEXT $VIRTIMGSTORE/$host.$IMGEXT
	log_action "Guest $host"
	execute "virsh create $CONFDIR/$host.xml"
done

# Enforce reception of multicast traffic on bridges
for br in $MCASTBRS
do
	cd /sys/devices/virtual/net/$br/brif
	for vnet in `find . -name "*eth?"`
	do
		echo 2 > $vnet/multicast_router
	done
done

echo 0x08 > /sys/devices/virtual/net/test-br0/bridge/group_fwd_mask