]> xenbits.xensource.com Git - people/dariof/osstest.git/commitdiff
ts-freebsd-install: sort out image handling by using target_put_guest_image, and...
authorIan Jackson <ian.jackson@eu.citrix.com>
Thu, 21 Nov 2013 18:23:21 +0000 (18:23 +0000)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Mon, 25 Nov 2013 17:40:05 +0000 (17:40 +0000)
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
ts-freebsd-install

index a2c8a4d9d170744322dc50b9d2a2f53e78611505..5b7b9962d67e82e706ac25997b85cddaa3c9582c 100755 (executable)
@@ -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, <<END, 900);
             set -ex
-            xz -dkc $freebsd_img > $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