[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH OSSTEST] Allow per-host TFTP setup
I run osstest against machines which are in both the XenServer and XenClient administrative domains, and hence which have different TFTP servers, accessible locally via different NFS mounted paths. Make it possible to specify various bits of TFTP path via ~/.xen-osstest/config Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- Osstest/Debian.pm | 6 +++++- Osstest/TestSupport.pm | 5 ++++- ts-host-install | 16 ++++++++++------ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm index 6759263..a70d35b 100644 --- a/Osstest/Debian.pm +++ b/Osstest/Debian.pm @@ -554,7 +554,11 @@ END foreach my $kp (keys %{ $ho->{Flags} }) { $kp =~ s/need-kernel-deb-// or next; - my $d_i= $c{TftpPath}.'/'.$c{TftpDiBase}.'/'.$r{arch}.'/'.$c{TftpDiVersion}.'-'.$ho->{Suite}; + my $tftppath = get_host_property($ho, "TftpPath", $c{TftpPath}); + my $tftpdibase = get_host_property($ho, "TftpDiBase", $c{TftpDiBase}); + my $tftpdiversion = get_host_property($ho, "TftpDiVersion", $c{TftpDiVersion}); + + my $d_i= $tftppath.'/'.$tftpdibase.'/'.$r{arch}.'/'.$tftpdiversion.'-'.$ho->{Suite}; my $kurl = create_webfile($ho, "kernel", sub { copy("$d_i/$kp.deb", $_[0]); diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm index a513540..5c01ffa 100644 --- a/Osstest/TestSupport.pm +++ b/Osstest/TestSupport.pm @@ -1839,8 +1839,11 @@ sub host_pxefile ($) { sub setup_pxeboot ($$) { my ($ho, $bootfile) = @_; + my $p= get_host_property($ho, "TftpPath", $c{TftpPath}); + my $d= get_host_property($ho, "TftpPxeDir", $c{TftpPxeDir}); my $f= host_pxefile($ho); - file_link_contents("$c{TftpPath}$c{TftpPxeDir}$f", $bootfile); + + file_link_contents("$p$d$f", $bootfile); } sub setup_pxeboot_local ($) { diff --git a/ts-host-install b/ts-host-install index 5c0018e..2e711fe 100755 --- a/ts-host-install +++ b/ts-host-install @@ -122,19 +122,23 @@ END sub setup_pxeboot_firstboot($) { my ($ps_url) = @_; - my $d_i= $c{TftpDiBase}.'/'.$r{arch}.'/'.$c{TftpDiVersion}.'-'.$ho->{Suite}; + my $tftppath = get_host_property($ho, "TftpPath", $c{TftpPath}); + my $tftpdibase = get_host_property($ho, "TftpDiBase", $c{TftpDiBase}); + my $tftpdiversion = get_host_property($ho, "TftpDiVersion", $c{TftpDiVersion}); + + my $d_i= $tftpdibase.'/'.$r{arch}.'/'.$tftpdiversion.'-'.$ho->{Suite}; my @installcmdline= qw(vga=normal); push @installcmdline, di_installcmdline_core($ho, $ps_url, %xopts); my $src_initrd= "$d_i/initrd.gz"; - my @initrds= "$c{TftpPath}/$src_initrd"; + my @initrds= "$tftppath/$src_initrd"; my $kernel; foreach my $fp (keys %{ $ho->{Flags} }) { $fp =~ s/^need-firmware-deb-// or next; - my $cpio= "$c{TftpPath}/$d_i/$fp.cpio.gz"; + my $cpio= "$tftppath/$d_i/$fp.cpio.gz"; if (stat $cpio) { logm("using firmware from: $cpio"); push @initrds, $cpio; @@ -147,7 +151,7 @@ sub setup_pxeboot_firstboot($) { foreach my $kp (keys %{ $ho->{Flags} }) { $kp =~ s/need-kernel-deb-// or next; - my $kern= "$c{TftpPath}/$d_i/linux.$kp"; + my $kern= "$tftppath/$d_i/linux.$kp"; if (stat $kern) { logm("using kernel from: $kern"); $kernel = "/$d_i/linux.$kp"; @@ -157,7 +161,7 @@ sub setup_pxeboot_firstboot($) { die "$kp $kern $!"; } - my $cpio= "$c{TftpPath}/$d_i/$kp.cpio.gz"; + my $cpio= "$tftppath/$d_i/$kp.cpio.gz"; if (stat $cpio) { logm("using kernel modules from: $cpio"); push @initrds, $cpio; @@ -195,7 +199,7 @@ END logm("using initrds: @initrds"); my $initrd= "$c{TftpTmpDir}$ho->{Name}--initrd.gz"; - system_checked("cat -- @initrds >$c{TftpPath}$initrd"); + system_checked("cat -- @initrds >$tftppath$initrd"); push @installcmdline, ("initrd=/$initrd", "domain=$c{TestHostDomain}", -- 1.8.5.2 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |