[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 23/27] ts-bench-hostcmp-host-reset: new script
On Wed, 2014-12-10 at 19:12 +0100, Dario Faggioli wrote: > From: Dario Faggioli <raistlin@xxxxxxxx> > Somehow, this patch lacks a changelog! :-O Sorry about this too, I'll write one for next version. Regards, Dario > Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx> > Cc: Wei Liu <wei.liu2@xxxxxxxxxx> > Cc: Ian Campbell <Ian.Campbell@xxxxxxxxxx> > Cc: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> > --- > Osstest/Debian.pm | 32 +++++++++++++++++--------------- > Osstest/TestSupport.pm | 46 +++++++++++++++++++++++++++++++++++++++++++++- > ts-bench-hostcmp-post | 39 +++++++++++++++++++++++++++++++++++++++ > ts-xen-install | 38 ++------------------------------------ > 4 files changed, 103 insertions(+), 52 deletions(-) > create mode 100755 ts-bench-hostcmp-post > > diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm > index 418d9f2..447d2d2 100644 > --- a/Osstest/Debian.pm > +++ b/Osstest/Debian.pm > @@ -87,25 +87,27 @@ sub debian_boot_setup ($$$$;$) { > my $kern= $bootloader->{GetBootKern}(); > logm("dom0 kernel is $kern"); > > - system "tar zvtf $distpath->{kern} boot/$kern"; > - $? and die "$distpath->{kern} boot/$kern $?"; > - > - my $kernver= $kern; > - $kernver =~ s,^/?(?:boot/)?(?:vmlinu[xz]-)?,, or die "$kernver ?"; > - my $kernpath= $kern; > - $kernpath =~ s,^(?:boot/)?,/boot/,; > - > - target_cmd_root($ho, > - "update-initramfs -k $kernver -c ||". > - " update-initramfs -k $kernver -u", > - 200); > + if (defined $distpath) { > + system "tar zvtf $distpath->{kern} boot/$kern"; > + $? and die "$distpath->{kern} boot/$kern $?"; > + > + my $kernver= $kern; > + $kernver =~ s,^/?(?:boot/)?(?:vmlinu[xz]-)?,, or die "$kernver ?"; > + my $kernpath= $kern; > + $kernpath =~ s,^(?:boot/)?,/boot/,; > + > + target_cmd_root($ho, > + "update-initramfs -k $kernver -c ||". > + " update-initramfs -k $kernver -u", > + 200); > + > + store_runvar(target_var_prefix($ho).'xen_kernel_path',$kernpath); > + store_runvar(target_var_prefix($ho).'xen_kernel_ver',$kernver); > + } > > $bootloader->{PreFinalUpdate}(); > > $bootloader->{UpdateConfig}($ho); > - > - store_runvar(target_var_prefix($ho).'xen_kernel_path',$kernpath); > - store_runvar(target_var_prefix($ho).'xen_kernel_ver',$kernver); > } > > sub bl_getmenu_open ($$$) { > diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm > index 251668a..c967e4f 100644 > --- a/Osstest/TestSupport.pm > +++ b/Osstest/TestSupport.pm > @@ -99,7 +99,7 @@ BEGIN { > guest_vncsnapshot_begin guest_vncsnapshot_stash > guest_check_remus_ok guest_editconfig > host_involves_pcipassthrough > host_get_pcipassthrough_devs > - toolstack guest_create > + toolstack guest_create host_bootxen_setup > > await_webspace_fetch_byleaf create_webfile > file_link_contents get_timeout > @@ -1012,6 +1012,50 @@ sub get_host_memory ($) { > return $mem; > } > > +#---------- bootloader and booting ---------- > +# > +sub host_bootxen_setup ($) { > + my ($ho)= @_; > + > + my $xenhopt= "conswitch=x watchdog"; > + > + my $cons= get_host_property($ho, 'XenSerialConsole', 'com1'); > + > + if ( $cons eq "com1" ) { > + $xenhopt .= " com1=$c{Baud},8n1 console=com1,vga gdb=com1"; > + } elsif ( $cons eq "dtuart" ) { > + $xenhopt .= " console=dtuart"; > + my $dtuart= get_host_property($ho, 'XenDTUARTPath', undef); > + $xenhopt .= " dtuart=$dtuart" if $dtuart; > + } else { > + logm("No Xen console device defined for host"); > + } > + if (toolstack()->{Dom0MemFixed}) { > + $xenhopt .= " dom0_mem=512M,max:512M"; > + } > + my $append= $r{xen_boot_append}; > + $xenhopt .= " $append" if defined $append; > + $append = get_host_property($ho, 'xen-commandline-append', undef); > + $xenhopt .= " $append" if defined $append; > + > + my @hooks; > + > + if (host_involves_pcipassthrough($ho)) { > + push @hooks, { > + EditBootOptions => sub { > + my ($ho,$hopt,$kopt) = @_; > + $$hopt .= ' iommu=on'; > + my $hide= ' xen-pciback.hide='. join '',map { "($_->{Bdf})" } > + host_get_pcipassthrough_devs($ho); > + logm("pci passthrough: hiding in dom0: $hide"); > + $$kopt .= $hide; > + } > + }; > + } > + > + return ($xenhopt,@hooks); > +} > + > #---------- stashed files ---------- > > sub open_unique_stashfile ($) { > diff --git a/ts-bench-hostcmp-post b/ts-bench-hostcmp-post > new file mode 100755 > index 0000000..26a67f4 > --- /dev/null > +++ b/ts-bench-hostcmp-post > @@ -0,0 +1,39 @@ > +#!/usr/bin/perl -w > +# This is part of "osstest", an automated testing framework for Xen. > +# Copyright (C) 2009-2014 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::Debian; > +use Osstest::TestSupport; > + > +tsreadconfig(); > + > +our ($whhost) = @ARGV; > +$whhost ||= 'host'; > +our $ho= selecthost($whhost); > + > +sub resetboot () { > + my ($xenhopt,@hooks)= host_bootxen_setup($ho); > + my $want_kernver = get_runvar('kernel_ver',$r{'kernbuildjob'}); > + > + debian_boot_setup($ho, $want_kernver, $xenhopt, undef, \@hooks); > + > + logm("host reset to booting Xen"); > +} > + > +resetboot(); > diff --git a/ts-xen-install b/ts-xen-install > index 4d34d1f..d8d38fc 100755 > --- a/ts-xen-install > +++ b/ts-xen-install > @@ -134,43 +134,9 @@ sub adjustconfig () { > } > > sub setupboot () { > - my $xenhopt= "conswitch=x watchdog"; > - > - my $cons= get_host_property($ho, 'XenSerialConsole', 'com1'); > - > - if ( $cons eq "com1" ) { > - $xenhopt .= " com1=$c{Baud},8n1 console=com1,vga gdb=com1"; > - } elsif ( $cons eq "dtuart" ) { > - $xenhopt .= " console=dtuart"; > - my $dtuart= get_host_property($ho, 'XenDTUARTPath', undef); > - $xenhopt .= " dtuart=$dtuart" if $dtuart; > - } else { > - logm("No Xen console device defined for host"); > - } > - if (toolstack()->{Dom0MemFixed}) { > - $xenhopt .= " dom0_mem=512M,max:512M"; > - } > - my $append= $r{xen_boot_append}; > - $xenhopt .= " $append" if defined $append; > - $append = get_host_property($ho, 'xen-commandline-append', undef); > - $xenhopt .= " $append" if defined $append; > - > - my @hooks; > - > - if (host_involves_pcipassthrough($ho)) { > - push @hooks, { > - EditBootOptions => sub { > - my ($ho,$hopt,$kopt) = @_; > - $$hopt .= ' iommu=on'; > - my $hide= ' xen-pciback.hide='. join '',map { "($_->{Bdf})" } > - host_get_pcipassthrough_devs($ho); > - logm("pci passthrough: hiding in dom0: $hide"); > - $$kopt .= $hide; > - } > - }; > - } > - > + my ($xenhopt,@hooks)= host_bootxen_setup($ho); > my $want_kernver = get_runvar('kernel_ver',$r{'kernbuildjob'}); > + > debian_boot_setup($ho, $want_kernver, $xenhopt, \%distpath, \@hooks); > > logm("ready to boot Xen"); > Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |