* [OSSTEST PATCH 00/13] FreeBSD
@ 2013-11-25 17:43 Ian Jackson
2013-11-25 17:43 ` [PATCH 01/13] more_prepareguest_hvm: honour xopt NoCdromImage Ian Jackson
` (13 more replies)
0 siblings, 14 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:43 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Campbell, Roger Pau Monne
This is Roger's FreeBSD patches with my fixes as new patches on the
end.
01/13 more_prepareguest_hvm: honour xopt NoCdromImage
02/13 ts-freebsd-install: add FreeBSD PVHVM installer
03/13 ts-freebsd-install: Style fixes
04/13 ts-freebsd-install: honour <guest>_image runvar
05/13 make-flight: freebsd jobs
06/13 ts-freebsd-install: fix mode to be +x
07/13 ts-*: make all target_cmd[_root] set -e (or +e)
08/13 ts-freebsd-install: say set -ex at appropriate point
09/13 ts-freebsd-install: split big setup command into three
10/13 TestSupport: break out target_put_guest_image
11/13 ts-freebsd-install: sort out image handling by using
12/13 sg-run-job: prototype test-freebsd recipe
13/13 ts-freebsd-install: remove unused $xl setting
I'm posting this for form's sake. I am about to send this into the
osstest push gate.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 01/13] more_prepareguest_hvm: honour xopt NoCdromImage
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
@ 2013-11-25 17:43 ` Ian Jackson
2013-11-25 17:43 ` [PATCH 02/13] ts-freebsd-install: add FreeBSD PVHVM installer Ian Jackson
` (12 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:43 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Osstest/TestSupport.pm | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index a9cdc9c..0381fd8 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -1368,24 +1368,30 @@ sub more_prepareguest_hvm ($$$$;@) {
my $passwd= 'xenvnc';
prepareguest_part_lvmdisk($ho, $gho, $disk_mb);
-
- my $specimage= $r{"$gho->{Guest}_image"};
- die "$gho->{Guest} ?" unless $specimage;
- my $limage= $specimage =~ m,^/, ? $specimage : "$c{Images}/$specimage";
- $gho->{Rimage}= "/root/$flight.$job.".basename($specimage);
- target_putfile_root($ho, 1000, $limage,$gho->{Rimage}, '-p');
- my $postimage_hook= $xopts{PostImageHook};
- $postimage_hook->() if $postimage_hook;
+ my @disks = "phy:$gho->{Lvdev},hda,w";
+
+ if (!$xopts{NoCdromImage}) {
+ my $specimage= $r{"$gho->{Guest}_image"};
+ die "$gho->{Guest} ?" unless $specimage;
+ my $limage= $specimage =~ m,^/, ? $specimage : "$c{Images}/$specimage";
+ $gho->{Rimage}= "/root/$flight.$job.".basename($specimage);
+ target_putfile_root($ho, 1000, $limage,$gho->{Rimage}, '-p');
+
+ my $postimage_hook= $xopts{PostImageHook};
+ $postimage_hook->() if $postimage_hook;
+
+ push @disks, "file:$gho->{Rimage},hdc:cdrom,r";
+ }
+ my $disks = join ",\t\t\n", map { "'$_'" } @disks;
my $cfg = <<END;
kernel = 'hvmloader'
builder = 'hvm'
#
disk = [
- 'phy:$gho->{Lvdev},hda,w',
- 'file:$gho->{Rimage},hdc:cdrom,r'
- ]
+ $disks
+ ]
#
usb=1
usbdevice='tablet'
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 02/13] ts-freebsd-install: add FreeBSD PVHVM installer
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
2013-11-25 17:43 ` [PATCH 01/13] more_prepareguest_hvm: honour xopt NoCdromImage Ian Jackson
@ 2013-11-25 17:43 ` Ian Jackson
2013-11-25 17:43 ` [PATCH 03/13] ts-freebsd-install: Style fixes Ian Jackson
` (11 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:43 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
From: Roger Pau Monne <roger.pau@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
---
ts-freebsd-install | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 109 insertions(+)
create mode 100644 ts-freebsd-install
diff --git a/ts-freebsd-install b/ts-freebsd-install
new file mode 100644
index 0000000..4e32b6c
--- /dev/null
+++ b/ts-freebsd-install
@@ -0,0 +1,109 @@
+#!/usr/bin/perl -w
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2009-2013 Citrix Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+use strict qw(vars);
+use DBI;
+use Osstest;
+use Osstest::TestSupport;
+
+tsreadconfig();
+
+our ($whhost,$gn) = @ARGV;
+$whhost ||= 'host';
+$gn ||= 'freebsd';
+
+our $ho= selecthost($whhost);
+
+our $ram_mb= 1024;
+our $disk_mb= 20480;
+
+our $guesthost= "$gn.guest.osstest";
+our $gho;
+
+our $xl= toolstack()->{Command};
+
+our $freebsd_qcow2= '/root/freebsd.qcow2';
+our $freebsd_raw= '/root/freebsd.raw';
+
+our $freebsd_mount= '/root/freebsd_root';
+
+our $freebsd_version= "10.0-BETA3";
+
+# Folder where the FreeBSD VM images are stored inside of the host
+#
+# The naming convention of the stored images is:
+# FreeBSD-$freebsd_version-$arch.qcow2.xz
+# ie: FreeBSD-10.0-BETA3-amd64.qcow2.xz
+our $freebsd_vm_repo= '/var/images';
+
+sub prep () {
+ my $authkeys= authorized_keys();
+
+ target_install_packages_norec($ho, qw(lvm2 wget qemu-utils xz-utils kpartx));
+
+ $gho= prepareguest($ho, $gn, $guesthost, 22,
+ $disk_mb + 1,
+ 100);
+
+ more_prepareguest_hvm($ho, $gho, $ram_mb, $disk_mb, NoCdromImage => 1);
+
+ my $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_cmd_root($ho, "umount $gho->{Lvdev} ||:");
+
+ target_cmd_root($ho, <<END, 900);
+ 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
+
+ kpartx -a $gho->{Lvdev}
+ mkdir -p $freebsd_mount
+ mount -t ufs -o ufstype=ufs2,rw /dev/mapper/$gho->{Vg}-$gho->{Name}--disk3 $freebsd_mount
+
+ mkdir -p $freebsd_mount/root/.ssh
+ cat <<'ENDKEYS' >$freebsd_mount/root/.ssh/authorized_keys
+$authkeys
+ENDKEYS
+
+ echo 'sshd_enable="YES"' >> $freebsd_mount/etc/rc.conf
+ echo 'ifconfig_xn0="DHCP"' >> $freebsd_mount/etc/rc.conf
+ echo 'PermitRootLogin yes' >> $freebsd_mount/etc/ssh/sshd_config
+
+ sed -i '/^ttyu0/s/off/on/' $freebsd_mount/etc/ttys
+
+ cp $freebsd_mount/usr/share/zoneinfo/Europe/London $freebsd_mount/etc/localtime
+
+ cat <<'ENDKEYS' >$freebsd_mount/boot/loader.conf
+boot_multicons="YES"
+boot_serial="YES"
+comconsole_speed="115200"
+console="comconsole,vidconsole"
+ENDKEYS
+
+ umount $freebsd_mount
+ rm -rf $freebsd_mount
+ kpartx -d $gho->{Lvdev}
+END
+
+}
+
+prep();
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 03/13] ts-freebsd-install: Style fixes
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
2013-11-25 17:43 ` [PATCH 01/13] more_prepareguest_hvm: honour xopt NoCdromImage Ian Jackson
2013-11-25 17:43 ` [PATCH 02/13] ts-freebsd-install: add FreeBSD PVHVM installer Ian Jackson
@ 2013-11-25 17:43 ` Ian Jackson
2013-11-25 17:43 ` [PATCH 04/13] ts-freebsd-install: honour <guest>_image runvar Ian Jackson
` (10 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:43 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
No functional change.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
ts-freebsd-install | 36 ++++++++++++++++++++----------------
1 file changed, 20 insertions(+), 16 deletions(-)
diff --git a/ts-freebsd-install b/ts-freebsd-install
index 4e32b6c..cc77be4 100644
--- a/ts-freebsd-install
+++ b/ts-freebsd-install
@@ -39,7 +39,7 @@ our $xl= toolstack()->{Command};
our $freebsd_qcow2= '/root/freebsd.qcow2';
our $freebsd_raw= '/root/freebsd.raw';
-our $freebsd_mount= '/root/freebsd_root';
+our $mnt= '/root/freebsd_root';
our $freebsd_version= "10.0-BETA3";
@@ -53,7 +53,8 @@ our $freebsd_vm_repo= '/var/images';
sub prep () {
my $authkeys= authorized_keys();
- target_install_packages_norec($ho, qw(lvm2 wget qemu-utils xz-utils kpartx));
+ target_install_packages_norec($ho, qw(lvm2 wget qemu-utils
+ xz-utils kpartx));
$gho= prepareguest($ho, $gn, $guesthost, 22,
$disk_mb + 1,
@@ -61,11 +62,14 @@ sub prep () {
more_prepareguest_hvm($ho, $gho, $ram_mb, $disk_mb, NoCdromImage => 1);
- my $freebsd_img = $freebsd_vm_repo . "/" . "FreeBSD-" . $freebsd_version . "-";
+ my $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 .= defined($r{"$gho->{Guest}_arch"})
+ ? $r{"$gho->{Guest}_arch"} : 'amd64';
$freebsd_img .= ".qcow2.xz";
+ my $rootpartition_dev = "/dev/mapper/$gho->{Vg}-$gho->{Name}--disk3";
+
target_cmd_root($ho, "umount $gho->{Lvdev} ||:");
target_cmd_root($ho, <<END, 900);
@@ -76,31 +80,31 @@ sub prep () {
rm -rf $freebsd_raw
kpartx -a $gho->{Lvdev}
- mkdir -p $freebsd_mount
- mount -t ufs -o ufstype=ufs2,rw /dev/mapper/$gho->{Vg}-$gho->{Name}--disk3 $freebsd_mount
+ mkdir -p $mnt
+ mount -t ufs -o ufstype=ufs2,rw $rootpartition_dev $mnt
- mkdir -p $freebsd_mount/root/.ssh
- cat <<'ENDKEYS' >$freebsd_mount/root/.ssh/authorized_keys
+ mkdir -p $mnt/root/.ssh
+ cat <<'ENDKEYS' >$mnt/root/.ssh/authorized_keys
$authkeys
ENDKEYS
- echo 'sshd_enable="YES"' >> $freebsd_mount/etc/rc.conf
- echo 'ifconfig_xn0="DHCP"' >> $freebsd_mount/etc/rc.conf
- echo 'PermitRootLogin yes' >> $freebsd_mount/etc/ssh/sshd_config
+ echo 'sshd_enable="YES"' >> $mnt/etc/rc.conf
+ echo 'ifconfig_xn0="DHCP"' >> $mnt/etc/rc.conf
+ echo 'PermitRootLogin yes' >> $mnt/etc/ssh/sshd_config
- sed -i '/^ttyu0/s/off/on/' $freebsd_mount/etc/ttys
+ sed -i '/^ttyu0/s/off/on/' $mnt/etc/ttys
- cp $freebsd_mount/usr/share/zoneinfo/Europe/London $freebsd_mount/etc/localtime
+ cp $mnt/usr/share/zoneinfo/Europe/London $mnt/etc/localtime
- cat <<'ENDKEYS' >$freebsd_mount/boot/loader.conf
+ cat <<'ENDKEYS' >$mnt/boot/loader.conf
boot_multicons="YES"
boot_serial="YES"
comconsole_speed="115200"
console="comconsole,vidconsole"
ENDKEYS
- umount $freebsd_mount
- rm -rf $freebsd_mount
+ umount $mnt
+ rm -rf $mnt
kpartx -d $gho->{Lvdev}
END
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 04/13] ts-freebsd-install: honour <guest>_image runvar
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
` (2 preceding siblings ...)
2013-11-25 17:43 ` [PATCH 03/13] ts-freebsd-install: Style fixes Ian Jackson
@ 2013-11-25 17:43 ` Ian Jackson
2013-11-25 17:43 ` [PATCH 05/13] make-flight: freebsd jobs Ian Jackson
` (9 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:43 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
ts-freebsd-install | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/ts-freebsd-install b/ts-freebsd-install
index cc77be4..d08b64e 100644
--- a/ts-freebsd-install
+++ b/ts-freebsd-install
@@ -48,6 +48,9 @@ our $freebsd_version= "10.0-BETA3";
# The naming convention of the stored images is:
# FreeBSD-$freebsd_version-$arch.qcow2.xz
# ie: FreeBSD-10.0-BETA3-amd64.qcow2.xz
+#
+# Used only if the runvar <guest>_image is not set.
+#
our $freebsd_vm_repo= '/var/images';
sub prep () {
@@ -62,11 +65,14 @@ sub prep () {
more_prepareguest_hvm($ho, $gho, $ram_mb, $disk_mb, NoCdromImage => 1);
- my $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";
+ 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";
+ }
my $rootpartition_dev = "/dev/mapper/$gho->{Vg}-$gho->{Name}--disk3";
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 05/13] make-flight: freebsd jobs
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
` (3 preceding siblings ...)
2013-11-25 17:43 ` [PATCH 04/13] ts-freebsd-install: honour <guest>_image runvar Ian Jackson
@ 2013-11-25 17:43 ` Ian Jackson
2013-11-25 17:43 ` [PATCH 06/13] ts-freebsd-install: fix mode to be +x Ian Jackson
` (8 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:43 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
make-flight | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/make-flight b/make-flight
index a5d21af..65e3abc 100755
--- a/make-flight
+++ b/make-flight
@@ -347,6 +347,19 @@ for xenarch in ${TEST_ARCHES- i386 amd64 armhf } ; do
debian_arch=$dom0arch \
all_hostflags=$most_hostflags
+ if [ $xenarch = amd64 -a $dom0arch = i386 -a "$kern" = "" ]; then
+
+ for freebsdarch in amd64 i386; do
+
+ job_create_test test-$xenarch$kern-$dom0arch$qemuu_suffix-freebsd10-$freebsdarch \
+ test-freebsd xl \
+ freebsd_arch=$freebsdarch \
+ freebsd_image=${FREEBSD_IMAGE_PREFIX-FreeBSD-10.0-BETA3-}$freebsdarch${FREEBSD_IMAGE_SUFFIX--20131103-r257580.qcow2.xz}
+
+ done
+
+ fi
+
for qemuu_suffix in '' -qemut -qemuu; do
case "$qemuu_suffix" in
'')
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 06/13] ts-freebsd-install: fix mode to be +x
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
` (4 preceding siblings ...)
2013-11-25 17:43 ` [PATCH 05/13] make-flight: freebsd jobs Ian Jackson
@ 2013-11-25 17:43 ` Ian Jackson
2013-11-25 17:43 ` [PATCH 07/13] ts-*: make all target_cmd[_root] set -e (or +e) Ian Jackson
` (7 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:43 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
0 files changed
mode change 100644 => 100755 ts-freebsd-install
diff --git a/ts-freebsd-install b/ts-freebsd-install
old mode 100644
new mode 100755
--
1.7.10.4
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 07/13] ts-*: make all target_cmd[_root] set -e (or +e)
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
` (5 preceding siblings ...)
2013-11-25 17:43 ` [PATCH 06/13] ts-freebsd-install: fix mode to be +x Ian Jackson
@ 2013-11-25 17:43 ` Ian Jackson
2013-11-25 17:43 ` [PATCH 08/13] ts-freebsd-install: say set -ex at appropriate point Ian Jackson
` (6 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:43 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
ts-redhat-install | 3 ++-
ts-xen-install | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/ts-redhat-install b/ts-redhat-install
index 3aa8864..a945033 100755
--- a/ts-redhat-install
+++ b/ts-redhat-install
@@ -131,6 +131,7 @@ sub prep () {
-boot-info-table);
target_cmd_root($ho, <<END, 60);
+ set -e
mkdir -p $emptydir
genisoimage -o $emptyiso @isogen_base $emptydir/.
END
@@ -139,7 +140,7 @@ END
OnReboot => 'preserve',
PostImageHook => sub {
target_cmd_root($ho, <<END, $isotimeout);
- set -x
+ set -ex
umount /mnt ||:
rm -rf $newiso
mount -o loop -r $gho->{Rimage} /mnt
diff --git a/ts-xen-install b/ts-xen-install
index 70b9e22..fc96516 100755
--- a/ts-xen-install
+++ b/ts-xen-install
@@ -256,6 +256,7 @@ END
sub forbidden () {
target_cmd_root($ho, <<'END');
+ set +e
outcome=true
for f in /usr/local/etc/* /usr/local/var/*; do
if test -e "$f"; then
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 08/13] ts-freebsd-install: say set -ex at appropriate point
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
` (6 preceding siblings ...)
2013-11-25 17:43 ` [PATCH 07/13] ts-*: make all target_cmd[_root] set -e (or +e) Ian Jackson
@ 2013-11-25 17:43 ` Ian Jackson
2013-11-25 17:43 ` [PATCH 09/13] ts-freebsd-install: split big setup command into three chunks Ian Jackson
` (5 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:43 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
ts-freebsd-install | 1 +
1 file changed, 1 insertion(+)
diff --git a/ts-freebsd-install b/ts-freebsd-install
index d08b64e..7884651 100755
--- a/ts-freebsd-install
+++ b/ts-freebsd-install
@@ -79,6 +79,7 @@ sub prep () {
target_cmd_root($ho, "umount $gho->{Lvdev} ||:");
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
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 09/13] ts-freebsd-install: split big setup command into three chunks
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
` (7 preceding siblings ...)
2013-11-25 17:43 ` [PATCH 08/13] ts-freebsd-install: say set -ex at appropriate point Ian Jackson
@ 2013-11-25 17:43 ` Ian Jackson
2013-11-25 17:43 ` [PATCH 10/13] TestSupport: break out target_put_guest_image Ian Jackson
` (4 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:43 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
ts-freebsd-install | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/ts-freebsd-install b/ts-freebsd-install
index 7884651..a2c8a4d 100755
--- a/ts-freebsd-install
+++ b/ts-freebsd-install
@@ -89,12 +89,17 @@ sub prep () {
kpartx -a $gho->{Lvdev}
mkdir -p $mnt
mount -t ufs -o ufstype=ufs2,rw $rootpartition_dev $mnt
+END
+ target_cmd_root($ho, <<END, 900);
mkdir -p $mnt/root/.ssh
cat <<'ENDKEYS' >$mnt/root/.ssh/authorized_keys
$authkeys
ENDKEYS
+END
+
+ target_cmd_root($ho, <<END, 900);
echo 'sshd_enable="YES"' >> $mnt/etc/rc.conf
echo 'ifconfig_xn0="DHCP"' >> $mnt/etc/rc.conf
echo 'PermitRootLogin yes' >> $mnt/etc/ssh/sshd_config
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 10/13] TestSupport: break out target_put_guest_image
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
` (8 preceding siblings ...)
2013-11-25 17:43 ` [PATCH 09/13] ts-freebsd-install: split big setup command into three chunks Ian Jackson
@ 2013-11-25 17:43 ` Ian Jackson
2013-11-25 17:44 ` [PATCH 11/13] ts-freebsd-install: sort out image handling by using target_put_guest_image, and use job-specific local filenames Ian Jackson
` (3 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:43 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
Osstest/TestSupport.pm | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index 0381fd8..314c727 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -54,6 +54,7 @@ BEGIN {
target_putfile target_putfile_root
target_putfilecontents_stash
target_putfilecontents_root_stash
+ target_put_guest_image
target_editfile_root target_file_exists
target_install_packages target_install_packages_norec
target_extract_jobdistpath
@@ -1362,6 +1363,16 @@ END
return $cfgpath;
}
+sub target_put_guest_image ($$$) {
+ my ($ho, $gho, $default) = @_;
+ my $specimage = $r{"$gho->{Guest}_image"};
+ $specimage = $default if !defined $specimage;
+ die "$gho->{Guest} ?" unless $specimage;
+ my $limage= $specimage =~ m,^/, ? $specimage : "$c{Images}/$specimage";
+ $gho->{Rimage}= "/root/$flight.$job.".basename($specimage);
+ target_putfile_root($ho, 1000, $limage,$gho->{Rimage}, '-p');
+}
+
sub more_prepareguest_hvm ($$$$;@) {
my ($ho, $gho, $ram_mb, $disk_mb, %xopts) = @_;
@@ -1372,11 +1383,7 @@ sub more_prepareguest_hvm ($$$$;@) {
my @disks = "phy:$gho->{Lvdev},hda,w";
if (!$xopts{NoCdromImage}) {
- my $specimage= $r{"$gho->{Guest}_image"};
- die "$gho->{Guest} ?" unless $specimage;
- my $limage= $specimage =~ m,^/, ? $specimage : "$c{Images}/$specimage";
- $gho->{Rimage}= "/root/$flight.$job.".basename($specimage);
- target_putfile_root($ho, 1000, $limage,$gho->{Rimage}, '-p');
+ target_transfer_guest_image($ho, $gho, undef);
my $postimage_hook= $xopts{PostImageHook};
$postimage_hook->() if $postimage_hook;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 11/13] ts-freebsd-install: sort out image handling by using target_put_guest_image, and use job-specific local filenames
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
` (9 preceding siblings ...)
2013-11-25 17:43 ` [PATCH 10/13] TestSupport: break out target_put_guest_image Ian Jackson
@ 2013-11-25 17:44 ` Ian Jackson
2013-11-25 17:44 ` [PATCH 12/13] sg-run-job: prototype test-freebsd recipe Ian Jackson
` (2 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:44 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
ts-freebsd-install | 34 ++++++++++++++++------------------
1 file changed, 16 insertions(+), 18 deletions(-)
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, <<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
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 12/13] sg-run-job: prototype test-freebsd recipe
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
` (10 preceding siblings ...)
2013-11-25 17:44 ` [PATCH 11/13] ts-freebsd-install: sort out image handling by using target_put_guest_image, and use job-specific local filenames Ian Jackson
@ 2013-11-25 17:44 ` Ian Jackson
2013-11-25 17:44 ` [PATCH 13/13] ts-freebsd-install: remove unused $xl setting Ian Jackson
2013-11-26 10:48 ` [OSSTEST PATCH 00/13] FreeBSD Ian Campbell
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:44 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
sg-run-job | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/sg-run-job b/sg-run-job
index 0124223..f91da85 100755
--- a/sg-run-job
+++ b/sg-run-job
@@ -246,6 +246,12 @@ proc run-job/test-debian {} {
test-guest debian
}
+proc need-hosts/test-freebsd {} { return host }
+proc run-job/test-freebsd {} {
+ run-ts . = ts-freebsd-install
+ test-guest freebsd
+}
+
proc need-hosts/test-win {} { return host }
proc run-job/test-win {} {
run-ts . = ts-windows-install
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 13/13] ts-freebsd-install: remove unused $xl setting
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
` (11 preceding siblings ...)
2013-11-25 17:44 ` [PATCH 12/13] sg-run-job: prototype test-freebsd recipe Ian Jackson
@ 2013-11-25 17:44 ` Ian Jackson
2013-11-26 10:48 ` [OSSTEST PATCH 00/13] FreeBSD Ian Campbell
13 siblings, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-25 17:44 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Roger Pau Monne
From: Roger Pau Monne <roger.pau@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
ts-freebsd-install | 2 --
1 file changed, 2 deletions(-)
diff --git a/ts-freebsd-install b/ts-freebsd-install
index 5b7b996..470fb83 100755
--- a/ts-freebsd-install
+++ b/ts-freebsd-install
@@ -34,8 +34,6 @@ our $disk_mb= 20480;
our $guesthost= "$gn.guest.osstest";
our $gho;
-our $xl= toolstack()->{Command};
-
our $mnt= '/root/freebsd_root';
our $freebsd_version= "10.0-BETA3";
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [OSSTEST PATCH 00/13] FreeBSD
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
` (12 preceding siblings ...)
2013-11-25 17:44 ` [PATCH 13/13] ts-freebsd-install: remove unused $xl setting Ian Jackson
@ 2013-11-26 10:48 ` Ian Campbell
2013-11-26 10:57 ` Egger, Christoph
2013-11-26 11:34 ` Ian Jackson
13 siblings, 2 replies; 18+ messages in thread
From: Ian Campbell @ 2013-11-26 10:48 UTC (permalink / raw)
To: Ian Jackson; +Cc: xen-devel, Roger Pau Monne
On Mon, 2013-11-25 at 17:43 +0000, Ian Jackson wrote:
> This is Roger's FreeBSD patches with my fixes as new patches on the
> end.
>
> 01/13 more_prepareguest_hvm: honour xopt NoCdromImage
> 02/13 ts-freebsd-install: add FreeBSD PVHVM installer
> 03/13 ts-freebsd-install: Style fixes
> 04/13 ts-freebsd-install: honour <guest>_image runvar
> 05/13 make-flight: freebsd jobs
> 06/13 ts-freebsd-install: fix mode to be +x
> 07/13 ts-*: make all target_cmd[_root] set -e (or +e)
> 08/13 ts-freebsd-install: say set -ex at appropriate point
> 09/13 ts-freebsd-install: split big setup command into three
> 10/13 TestSupport: break out target_put_guest_image
> 11/13 ts-freebsd-install: sort out image handling by using
> 12/13 sg-run-job: prototype test-freebsd recipe
> 13/13 ts-freebsd-install: remove unused $xl setting
>
> I'm posting this for form's sake. I am about to send this into the
> osstest push gate.
I take it therefore that you aren't expecting too much review?
Ian.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OSSTEST PATCH 00/13] FreeBSD
2013-11-26 10:48 ` [OSSTEST PATCH 00/13] FreeBSD Ian Campbell
@ 2013-11-26 10:57 ` Egger, Christoph
2013-11-26 11:33 ` Roger Pau Monné
2013-11-26 11:34 ` Ian Jackson
1 sibling, 1 reply; 18+ messages in thread
From: Egger, Christoph @ 2013-11-26 10:57 UTC (permalink / raw)
To: xen-devel
On 26.11.13 11:48, Ian Campbell wrote:
> On Mon, 2013-11-25 at 17:43 +0000, Ian Jackson wrote:
>> This is Roger's FreeBSD patches with my fixes as new patches on the
>> end.
>>
>> 01/13 more_prepareguest_hvm: honour xopt NoCdromImage
>> 02/13 ts-freebsd-install: add FreeBSD PVHVM installer
>> 03/13 ts-freebsd-install: Style fixes
>> 04/13 ts-freebsd-install: honour <guest>_image runvar
>> 05/13 make-flight: freebsd jobs
>> 06/13 ts-freebsd-install: fix mode to be +x
>> 07/13 ts-*: make all target_cmd[_root] set -e (or +e)
>> 08/13 ts-freebsd-install: say set -ex at appropriate point
>> 09/13 ts-freebsd-install: split big setup command into three
>> 10/13 TestSupport: break out target_put_guest_image
>> 11/13 ts-freebsd-install: sort out image handling by using
>> 12/13 sg-run-job: prototype test-freebsd recipe
>> 13/13 ts-freebsd-install: remove unused $xl setting
>>
>> I'm posting this for form's sake. I am about to send this into the
>> osstest push gate.
>
> I take it therefore that you aren't expecting too much review?
I suppose you need to cross-post to the corresponding freebsd lists
to get preview.
Christoph
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OSSTEST PATCH 00/13] FreeBSD
2013-11-26 10:57 ` Egger, Christoph
@ 2013-11-26 11:33 ` Roger Pau Monné
0 siblings, 0 replies; 18+ messages in thread
From: Roger Pau Monné @ 2013-11-26 11:33 UTC (permalink / raw)
To: Egger, Christoph, xen-devel
On 26/11/13 11:57, Egger, Christoph wrote:
> On 26.11.13 11:48, Ian Campbell wrote:
>> On Mon, 2013-11-25 at 17:43 +0000, Ian Jackson wrote:
>>> This is Roger's FreeBSD patches with my fixes as new patches on the
>>> end.
>>>
>>> 01/13 more_prepareguest_hvm: honour xopt NoCdromImage
>>> 02/13 ts-freebsd-install: add FreeBSD PVHVM installer
>>> 03/13 ts-freebsd-install: Style fixes
>>> 04/13 ts-freebsd-install: honour <guest>_image runvar
>>> 05/13 make-flight: freebsd jobs
>>> 06/13 ts-freebsd-install: fix mode to be +x
>>> 07/13 ts-*: make all target_cmd[_root] set -e (or +e)
>>> 08/13 ts-freebsd-install: say set -ex at appropriate point
>>> 09/13 ts-freebsd-install: split big setup command into three
>>> 10/13 TestSupport: break out target_put_guest_image
>>> 11/13 ts-freebsd-install: sort out image handling by using
>>> 12/13 sg-run-job: prototype test-freebsd recipe
>>> 13/13 ts-freebsd-install: remove unused $xl setting
>>>
>>> I'm posting this for form's sake. I am about to send this into the
>>> osstest push gate.
>>
>> I take it therefore that you aren't expecting too much review?
>
> I suppose you need to cross-post to the corresponding freebsd lists
> to get preview.
Most of the changes are related to OSS-Test itself, apart from that we
are just picking a pre-generated public VM image from ftp.FreeBSD.org.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [OSSTEST PATCH 00/13] FreeBSD
2013-11-26 10:48 ` [OSSTEST PATCH 00/13] FreeBSD Ian Campbell
2013-11-26 10:57 ` Egger, Christoph
@ 2013-11-26 11:34 ` Ian Jackson
1 sibling, 0 replies; 18+ messages in thread
From: Ian Jackson @ 2013-11-26 11:34 UTC (permalink / raw)
To: Ian Campbell; +Cc: xen-devel, Roger Pau Monne
Ian Campbell writes ("Re: [OSSTEST PATCH 00/13] FreeBSD"):
> On Mon, 2013-11-25 at 17:43 +0000, Ian Jackson wrote:
> > This is Roger's FreeBSD patches with my fixes as new patches on the
> > end.
> >
> > 01/13 more_prepareguest_hvm: honour xopt NoCdromImage
> > 02/13 ts-freebsd-install: add FreeBSD PVHVM installer
> > 03/13 ts-freebsd-install: Style fixes
> > 04/13 ts-freebsd-install: honour <guest>_image runvar
> > 05/13 make-flight: freebsd jobs
> > 06/13 ts-freebsd-install: fix mode to be +x
> > 07/13 ts-*: make all target_cmd[_root] set -e (or +e)
> > 08/13 ts-freebsd-install: say set -ex at appropriate point
> > 09/13 ts-freebsd-install: split big setup command into three
> > 10/13 TestSupport: break out target_put_guest_image
> > 11/13 ts-freebsd-install: sort out image handling by using
> > 12/13 sg-run-job: prototype test-freebsd recipe
> > 13/13 ts-freebsd-install: remove unused $xl setting
> >
> > I'm posting this for form's sake. I am about to send this into the
> > osstest push gate.
>
> I take it therefore that you aren't expecting too much review?
Not unless you feel like it :-). No need, I think. It's pretty
uncontroversial stuff.
As it happens I renamed a function several times and missed one
instance one one of the renames which is why the push gate emailed us
about regressions. This is now fixed.
Ian.
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2013-11-26 11:35 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-25 17:43 [OSSTEST PATCH 00/13] FreeBSD Ian Jackson
2013-11-25 17:43 ` [PATCH 01/13] more_prepareguest_hvm: honour xopt NoCdromImage Ian Jackson
2013-11-25 17:43 ` [PATCH 02/13] ts-freebsd-install: add FreeBSD PVHVM installer Ian Jackson
2013-11-25 17:43 ` [PATCH 03/13] ts-freebsd-install: Style fixes Ian Jackson
2013-11-25 17:43 ` [PATCH 04/13] ts-freebsd-install: honour <guest>_image runvar Ian Jackson
2013-11-25 17:43 ` [PATCH 05/13] make-flight: freebsd jobs Ian Jackson
2013-11-25 17:43 ` [PATCH 06/13] ts-freebsd-install: fix mode to be +x Ian Jackson
2013-11-25 17:43 ` [PATCH 07/13] ts-*: make all target_cmd[_root] set -e (or +e) Ian Jackson
2013-11-25 17:43 ` [PATCH 08/13] ts-freebsd-install: say set -ex at appropriate point Ian Jackson
2013-11-25 17:43 ` [PATCH 09/13] ts-freebsd-install: split big setup command into three chunks Ian Jackson
2013-11-25 17:43 ` [PATCH 10/13] TestSupport: break out target_put_guest_image Ian Jackson
2013-11-25 17:44 ` [PATCH 11/13] ts-freebsd-install: sort out image handling by using target_put_guest_image, and use job-specific local filenames Ian Jackson
2013-11-25 17:44 ` [PATCH 12/13] sg-run-job: prototype test-freebsd recipe Ian Jackson
2013-11-25 17:44 ` [PATCH 13/13] ts-freebsd-install: remove unused $xl setting Ian Jackson
2013-11-26 10:48 ` [OSSTEST PATCH 00/13] FreeBSD Ian Campbell
2013-11-26 10:57 ` Egger, Christoph
2013-11-26 11:33 ` Roger Pau Monné
2013-11-26 11:34 ` Ian Jackson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.