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 "$@"
13 xl lvcreate -L $3 -n $2 $1 $4
14 xl lvcreate -L $6 -n $5 $1 $7
16 basesize=`lvdisplay -c $9 8>&- 3>&-`
17 basesize="${basesize#*:*:*:*:*:*:}"
18 basesize="${basesize%%:*}"
19 x dd if=/dev/zero of=$9 bs=512 count="$basesize"
23 lvm_create_base $adt_lvm_vg \
24 $adt_lvm_baselv $adt_fs_size $adt_lvm_pv_fsbase \
25 $adt_lvm_cowdatalv $adt_fs_snapsize $adt_lvm_pv_fssnap \
26 $adt_lvm_erasebase $lvm_baselv_namepath
28 x mkfs -t $adt_fs_type $adt_mkfs_args $lvm_baselv_namepath
30 #----- create swap base
32 if $provide_swap; then
33 lvm_create_base $adt_lvm_swapvg \
34 $adt_lvm_swapbaselv $adt_swap_size $adt_lvm_pv_swapbase \
35 $adt_lvm_swapcowdatalv $adt_swap_snapsize $adt_lvm_pv_swapsnap \
36 $adt_lvm_eraseswap $lvm_baselv_swapnamepath
37 x mkswap $lvm_baselv_swapnamepath
38 swapdisk=", \"phy:$lvm_swaplink_ptrrhs,hda2,w\""
41 #----- create base filesystem and info
43 mkdir -p $adt_play/base
44 x mount $lvm_baselv_namepath $adt_play/base
47 --components="${adt_debootstrap_components}" \
48 --include=${adt_debootstrap_include},${adt_debootstrap_includemore} \
49 $adt_debootstrap_opts \
50 "$adt_distro" "$adt_play/base" \
51 "$adt_debootstrap_mirrors" "$adt_debootstrap_script" \
53 s/^(I: (?:Retrieving|Validating|Extracting|Unpacking|Configuring) [^A-Z].*)\n/
58 $ADT_XENLVM_SHARE/fixups "$@"
61 --- writing $adt_xmconfig ---
64 cat <<END >$adt_xmconfig
65 kernel = "$adt_kernel"
66 memory = $adt_testbed_ram
68 extra = "ro console=tty0 $adt_xmhook_extra"
69 disk = [ "phy:$lvm_fslink_ptrrhs,hda1,w"$swapdisk $adt_xmhook_disk ]
70 vif = [ "bridge=none,mac=$adt_guest_macaddr,ip=${adt_guest_ipaddr},script=${adt_net_vifscript}" $adt_xmhook_vif ]
72 on_reboot = "preserve"
73 on_shutdown = "preserve"
77 if [ "x$adt_ramdisk" != x ]; then
78 cat <<END >>$adt_xmconfig
79 ramdisk = "$adt_ramdisk"
83 if [ "x$adt_setup_hook" != x ]; then
84 $adt_setup_hook ${adt_play}/base
87 x umount $lvm_baselv_namepath
91 mkdir -p \${lvm_${fs}link_dirpath}
92 ln -sf ../\$lvm_baselv_${swap}namerhs \${lvm_${fs}link_ptr}
96 x xm create $adt_xmconfig name=$adt_xmname
99 if grep 0 /proc/sys/net/ipv4/ip_forward >/dev/null; then
102 ********** WARNING - IP FORWARDING IS TURNED OFF ON THE HOST **********
103 Your testbed will probably have trouble with downloads, DNS, etc.
104 You must turn this on manually, since it is a major config change.
110 if ping -c 1 $adt_guest_ipaddr && \
111 /usr/share/autopkgtest/xenlvm/on-testbed "$@" '
112 set -e; umask 002; cd /var/lib;
113 mkdir -p autopkgtest; cd autopkgtest;
116 if [ $retries -le 0 ]; then
117 echo >&2 'no response from guest'
118 x xm console $adt_xmname
121 retries=$(($retries-1))
125 x xm mem-set $adt_xmname $adt_freeze_ram
126 retries=$adt_vm_reduce_retries
128 if x xm mem-max $adt_xmname $adt_freeze_ram; then break; fi
129 if [ $retries -le 0 ]; then echo >&2 'cannot reduce memory'; exit 1; fi
130 retries=$(($retries-1))
133 x xm save $adt_xmname $adt_play/xen-save
134 rm ${lvm_fslink_ptr} ${lvm_swaplink_ptr}
135 touch "$adt_play/good"