chiark / gitweb /
working on config and docs
[autopkgtest.git] / xen / setup
1 #!/bin/bash
2 set -e
3 . ./config
4 ./cleanup
5 lvchange -a n $lvcowdata ||:
6 lvremove $lvbase ||:
7 lvremove $lvcowdata ||:
8
9 lvcreate -L $adt_filesys_size -n $lvbase $adt_lvm_vg
10 lvcreate -L $adt_filesys_snapsize -n $ncowdata $adt_lvm_vg
11 #dd if=/dev/zero of=$lvbase
12 mkfs -t ext3 $lvbase
13
14 mkdir -p $play/base
15 mount $lvbase $play/base
16
17 #--basetgz $play/base.tgz --buildplace
18
19 pbuilder create --configfile ./pbuilderrc --distribution $distro        \
20         --no-targz --buildplace $play/base                              \
21         $pbuilderopts   --debootstrapopts --variant=''
22
23 ./fixups $play/base $adt_host_hostname $adt_guest_hostname
24
25 echo "
26 --- writing $adt_xmconfig ---
27 "
28
29 adt_host_ipaddr=`adnshost -t a +Do +Dt +Dc $adt_host_hostname`
30
31 cat <<END >$adt_xmconfig
32 kernel = "$kernel"
33 memory = $adt_testbed_ram
34 root = "/dev/hda1"
35 extra = "ro console=tty0"
36 disk = [ "phy:$lvfsptrrhs,hda1,w" ]
37 vif = [ "bridge=none,mac=00:16:3e:7c:aa:7f,ip=$adt_guest_ipaddr,script=/etc/xen/scripts/vif-route-adt" ]
38 on_crash = "preserve"
39 on_reboot = "preserve"
40 on_shutdown = "preserve"
41 END
42
43 if [ "x$ramdisk" != x ]; then
44 cat <<END >>$adt_xmconfig
45 ramdisk = "$ramdisk"
46 END
47 fi
48
49 umount $lvbase
50
51 mkdir -p /dev/${pfx}_fs
52 ln -sf ../$lvbaserhs $lvfsptr
53 xm create $adt_xmconfig name=$xmname
54 retries=10
55
56 while true; do
57         if ping -c 1 $adt_guest_ipaddr && ./on-testbed id; then break; fi
58         if [ $retries -le 0 ]; then 
59                 echo >&2 'no response from guest'
60                 xm console $xmname
61                 exit 1
62         fi
63         retries=$(($retries-1))
64         sleep 2
65 done
66
67 xm mem-set $xmname $adt_freeze_ram
68 retries=10
69 while sleep 1; do
70   if xm mem-max $xmname $adt_freeze_ram; then break; fi
71   if [ $retries -le 0 ]; then echo >&2 'cannot reduce memory'; exit 1; fi
72   retries=$(($retries-1))
73 done
74
75 xm save $xmname $play/xen-save
76 rm $lvfsptr