|
[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 |