3 adt_readconfig_needkernel=y
4 adt_readconfig_needlock=y
5 . ${ADT_XENLVM_SHARE:=/usr/share/autopkgtest/xenlvm}/readconfig
6 test $nonoptargs = 0 || fail "non-option arguments not allowed"
8 $ADT_XENLVM_SHARE/purge "$@"
10 xl lvcreate -L $adt_fs_size -n $adt_lvm_baselv $adt_lvm_vg
11 xl lvcreate -L $adt_fs_snapsize -n $adt_lvm_cowdatalv $adt_lvm_vg
13 if $adt_lvm_erasebase; then
14 basesize=`lvdisplay -c $lvm_baselv_namepath 8>&- 3>&-`
15 basesize="${basesize#*:*:*:*:*:*:}"
16 basesize="${basesize%%:*}"
17 x dd if=/dev/zero of=$lvm_baselv_namepath bs=512 count="$basesize"
19 x mkfs -t $adt_fs_type $adt_mkfs_args $lvm_baselv_namepath
21 mkdir -p $adt_play/base
22 x mount $lvm_baselv_namepath $adt_play/base
25 --components="${adt_debootstrap_components}" \
26 --include=${adt_debootstrap_include},${adt_debootstrap_includemore} \
27 $adt_debootstrap_opts \
28 "$adt_distro" "$adt_play/base" \
29 "$adt_debootstrap_mirrors" "$adt_debootstrap_script" \
31 s/^(I: (?:Retrieving|Validating|Extracting|Unpacking|Configuring) [^A-Z].*)\n/
36 $ADT_XENLVM_SHARE/fixups "$@"
39 --- writing $adt_xmconfig ---
42 cat <<END >$adt_xmconfig
43 kernel = "$adt_kernel"
44 memory = $adt_testbed_ram
46 extra = "ro console=tty0 $adt_xmhook_extra"
47 disk = [ "phy:$lvm_fslink_ptrrhs,hda1,w" $adt_xmhook_disk ]
48 vif = [ "bridge=none,mac=$adt_guest_macaddr,ip=${adt_guest_ipaddr},script=${adt_net_vifscript}" $adt_xmhook_vif ]
50 on_reboot = "preserve"
51 on_shutdown = "preserve"
55 if [ "x$adt_ramdisk" != x ]; then
56 cat <<END >>$adt_xmconfig
57 ramdisk = "$adt_ramdisk"
61 if [ "x$adt_setup_hook" != x ]; then
62 $adt_setup_hook ${adt_play}/base
65 x umount $lvm_baselv_namepath
67 mkdir -p ${lvm_fslink_dirpath}
68 ln -sf ../$lvm_baselv_namerhs ${lvm_fslink_ptr}
69 x xm create $adt_xmconfig name=$adt_xmname
72 if grep 0 /proc/sys/net/ipv4/ip_forward >/dev/null; then
75 ********** WARNING - IP FORWARDING IS TURNED OFF ON THE HOST **********
76 Your testbed will probably have trouble with downloads, DNS, etc.
77 You must turn this on manually, since it is a major config change.
83 if ping -c 1 $adt_guest_ipaddr && \
84 /usr/share/autopkgtest/xenlvm/on-testbed "$@" '
85 set -e; umask 002; cd /var/lib;
86 mkdir -p autopkgtest; cd autopkgtest;
89 if [ $retries -le 0 ]; then
90 echo >&2 'no response from guest'
91 x xm console $adt_xmname
94 retries=$(($retries-1))
98 x xm mem-set $adt_xmname $adt_freeze_ram
99 retries=$adt_vm_reduce_retries
101 if x xm mem-max $adt_xmname $adt_freeze_ram; then break; fi
102 if [ $retries -le 0 ]; then echo >&2 'cannot reduce memory'; exit 1; fi
103 retries=$(($retries-1))
106 x xm save $adt_xmname $adt_play/xen-save
108 touch "$adt_play/good"