Message ID | 20170728152637.20301-8-roger.pau@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Roger Pau Monne writes ("[PATCH OSSTEST 07/11] ts-freebsd-host-install: add option to test memdisk options"): > This is needed in order to figure out which memdisk options should be > used to boot the images on each specific box. ... > +if ($r{'arch'} !~ m/amd64/g) { > + logm("Arch $r{'arch'} not supported!"); This clearly can't be right because presumably at least i386 would work too. I don't know why you need this check. > + exit 0; WTF ? You don't want ts-freebsd-host-install to exit 0 if it gets an unknown architecture. ... Oh I see. You have misplaced this check, which should only be effective when we are testing boot arguments. Ian.
Roger Pau Monne writes ("[PATCH OSSTEST 07/11] ts-freebsd-host-install: add option to test memdisk options"): ... > +if ($bootonly) { > + hostprop_putative_record($ho, "MemdiskAppend", $memdisk_append) > + if $memdisk_append; > + exit 0; I think this should be a separate option --record-memdisk or something. Since you might want to do a boot test for other reasons and having it mess with the host properties would be very unexpected. Ian.
On Fri, Jul 28, 2017 at 04:45:20PM +0100, Ian Jackson wrote: > Roger Pau Monne writes ("[PATCH OSSTEST 07/11] ts-freebsd-host-install: add option to test memdisk options"): > > This is needed in order to figure out which memdisk options should be > > used to boot the images on each specific box. > ... > > +if ($r{'arch'} !~ m/amd64/g) { > > + logm("Arch $r{'arch'} not supported!"); > > This clearly can't be right because presumably at least i386 would > work too. I don't know why you need this check. Yes, we could test memdisk with i386 also, except that osstest doesn't generate i386 images yet. > > + exit 0; > > WTF ? You don't want ts-freebsd-host-install to exit 0 if it gets an > unknown architecture. > > ... Oh I see. You have misplaced this check, which should only be > effective when we are testing boot arguments. Yes, we cannot test this for ARM (or else it's going to fail and block the other steps of the examine job), that's why it returns 0. So I think this should indeed be conditional on bootonly being set. Roger.
diff --git a/ts-freebsd-host-install b/ts-freebsd-host-install index 483b9aec..3b0ab970 100755 --- a/ts-freebsd-host-install +++ b/ts-freebsd-host-install @@ -41,6 +41,25 @@ use Osstest::TestSupport; tsreadconfig(); +if ($r{'arch'} !~ m/amd64/g) { + logm("Arch $r{'arch'} not supported!"); + exit 0; +} + +our $bootonly; +our $memdisk_append; +while (@ARGV && $ARGV[0] =~ m/^-/g) { + if ($ARGV[0] =~ m/^--memdiskappend=(.*)/) { + $memdisk_append = $1; + } elsif ($ARGV[0] eq "--testboot") { + $memdisk_append //= ""; + $bootonly = 1; + } else { + die "Unknown argument $ARGV[0]"; + } + shift @ARGV; +} + our ($whhost) = @ARGV; $whhost ||= 'host'; our $ho= selecthost($whhost); @@ -95,7 +114,7 @@ END # Setup the pxelinux config file logm("Booting from installer image at $pxeimg"); - setup_netboot_memdisk($ho, $pxeimg); + setup_netboot_memdisk($ho, $pxeimg, $memdisk_append); } sub install () { @@ -247,6 +266,12 @@ power_state($ho, 1); logm("Waiting for the installer to boot"); await_tcp(get_timeout($ho,'reboot',$timeout), 5, $ho); +if ($bootonly) { + hostprop_putative_record($ho, "MemdiskAppend", $memdisk_append) + if $memdisk_append; + exit 0; +} + # Next boot will be from local disk setup_netboot_local($ho);
This is needed in order to figure out which memdisk options should be used to boot the images on each specific box. Note that upon success the script stores the tentative host property in the runvars. Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> --- ts-freebsd-host-install | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-)