From: Ian Jackson Date: Thu, 21 Nov 2013 18:23:21 +0000 (+0000) Subject: ts-freebsd-install: sort out image handling by using target_put_guest_image, and... X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=72c8ad7f2ab6e0a51a5b2de7a0e927ec4c70790b;p=people%2Fdariof%2Fosstest.git ts-freebsd-install: sort out image handling by using target_put_guest_image, and use job-specific local filenames Signed-off-by: Ian Jackson --- diff --git a/ts-freebsd-install b/ts-freebsd-install index a2c8a4d..5b7b996 100755 --- a/ts-freebsd-install +++ b/ts-freebsd-install @@ -36,9 +36,6 @@ our $gho; our $xl= toolstack()->{Command}; -our $freebsd_qcow2= '/root/freebsd.qcow2'; -our $freebsd_raw= '/root/freebsd.raw'; - our $mnt= '/root/freebsd_root'; our $freebsd_version= "10.0-BETA3"; @@ -56,7 +53,7 @@ our $freebsd_vm_repo= '/var/images'; sub prep () { my $authkeys= authorized_keys(); - target_install_packages_norec($ho, qw(lvm2 wget qemu-utils + target_install_packages_norec($ho, qw(rsync lvm2 qemu-utils xz-utils kpartx)); $gho= prepareguest($ho, $gn, $guesthost, 22, @@ -65,26 +62,27 @@ sub prep () { more_prepareguest_hvm($ho, $gho, $ram_mb, $disk_mb, NoCdromImage => 1); - my $freebsd_img = $r{"$gho->{Guest}_image"}; - if (!defined $freebsd_img) { - $freebsd_img = "$freebsd_vm_repo/FreeBSD-$freebsd_version-"; - # Use amd64 as default arch - $freebsd_img .= defined($r{"$gho->{Guest}_arch"}) - ? $r{"$gho->{Guest}_arch"} : 'amd64'; - $freebsd_img .= ".qcow2.xz"; - } - + target_put_guest_image($ho, $gho, + "$freebsd_vm_repo/FreeBSD-$freebsd_version-". + (defined($r{"$gho->{Guest}_arch"}) + # Use amd64 as default arch + ? $r{"$gho->{Guest}_arch"} : 'amd64'). + ".qcow2.xz"); + my $rootpartition_dev = "/dev/mapper/$gho->{Vg}-$gho->{Name}--disk3"; target_cmd_root($ho, "umount $gho->{Lvdev} ||:"); + my $rimage = $gho->{Rimage}; + my $rimagebase = $rimage; $rimagebase =~ s/\.\w+$//; + target_cmd_root($ho, < $freebsd_qcow2 - qemu-img convert -f qcow2 $freebsd_qcow2 -O raw $freebsd_raw - rm -rf $freebsd_qcow2 - dd if=$freebsd_raw of=$gho->{Lvdev} bs=1M - rm -rf $freebsd_raw + xz -dkc $rimage > $rimagebase.qcow2 + qemu-img convert -f qcow2 $rimagebase.qcow2 -O raw $rimagebase.raw + rm $rimagebase.qcow2 + dd if=$rimagebase.raw of=$gho->{Lvdev} bs=1M + rm $rimagebase.raw kpartx -a $gho->{Lvdev} mkdir -p $mnt