xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [OSSTEST PATCH 16/35] netboot: Rework interface to host_netboot_file (was host_pxefile)
Date: Fri, 20 Jan 2017 12:19:05 +0000	[thread overview]
Message-ID: <1484914764-20861-17-git-send-email-ian.jackson@eu.citrix.com> (raw)
In-Reply-To: <1484914764-20861-1-git-send-email-ian.jackson@eu.citrix.com>

* Now it takes the tail of the template key (currently, normally
  `Templates') rather than the whole of it (`PxeTemplates'); the
  `Pxe' part is implied.

* Now it normally returns the whole path, including PxeDir, which the
  caller is no longer expected to prepend.  In any case, it supplies
  the dir value.

* Rename it.

* All call sites adjusted.

Overall, no functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 Osstest/TestSupport.pm | 20 +++++++++++++-------
 mg-hosts               |  6 +++---
 2 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index 4c6a677..54ff552 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -115,7 +115,7 @@ BEGIN {
 
                       await_webspace_fetch_byleaf create_webfile
                       file_link_contents get_timeout
-                      setup_pxeboot_di setup_pxeboot_local host_pxefile
+                      setup_pxeboot_di setup_pxeboot_local host_netboot_file
 
                       ether_prefix
 
@@ -2366,12 +2366,18 @@ sub file_link_contents ($$$) {
     logm("wrote $fn". (defined $stash ? " (stashed as $stash)" : ""));
 }
 
-sub host_pxefile ($;$) {
-    my ($ho, $templatekey) = @_;
+sub host_netboot_file ($;$) {
+    my ($ho, $templatekeytail) = @_;
+    # returns the full netboot filename path
+    # in array context, returns (dir, pathtail)
+    #  where dir does not depend on $templatekeytail
     my %v = %r;
-    $templatekey //= 'PxeTemplates';
+    my $templatekeybase = 'Pxe';
+    $templatekeytail //= 'Templates';
+    my $templatekey = $templatekeybase.$templatekeytail;
     my $templates = $ho->{Tftp}{$templatekey};
     return undef unless defined $templates;
+    my $dir = $ho->{Tftp}{$templatekeybase.'Dir'};
     if (defined $ho->{Ether}) {
 	my $eth = $v{'ether'} = $ho->{Ether};
 	$eth =~ y/A-Z/a-z/;
@@ -2396,7 +2402,7 @@ sub host_pxefile ($;$) {
 		    next;
 		 }ge;
 	# and return the first pattern we managed to completely substitute
-        return $pat;
+        return wantarray ? ($dir,$pat) : $dir.$pat;
     }
     die "no pxe template ($templatekey) matched $templates ".
         (join ",", sort keys %v)." ?";
@@ -2404,8 +2410,8 @@ sub host_pxefile ($;$) {
 
 sub setup_pxelinux_bootcfg ($$) {
     my ($ho, $bootfile) = @_;
-    my $f= host_pxefile($ho);
-    file_link_contents("$ho->{Tftp}{Path}$ho->{Tftp}{PxeDir}$f", $bootfile,
+    my $f= host_netboot_file($ho);
+    file_link_contents("$ho->{Tftp}{Path}$f", $bootfile,
 	hostnamepath($ho)."-pxelinux.cfg");
 }
 
diff --git a/mg-hosts b/mg-hosts
index ed51952..ed26df7 100755
--- a/mg-hosts
+++ b/mg-hosts
@@ -118,13 +118,13 @@ sub cmd_mkpxedir () {
     my $sudo = $ENV{'OSSTEST_SUDO'} // 'sudo';
     foreach my $hn (@ARGV) {
         my $ho= selecthost("host=$hn");
-	my $pxefile = host_pxefile($ho);
-	my $pxerealfile = host_pxefile($ho, 'PxeTemplatesReal');
+	my ($dir, $pxefile) = host_netboot_file($ho);
+	my ($rdir, $pxerealfile) = host_netboot_file($ho, 'TemplatesReal');
 	$pxerealfile //= $pxefile;
 	my $dirname = dirname $pxefile;
 	my $cmd = <<END;
             set -e
-	    cd $ho->{Tftp}{Path}$ho->{Tftp}{PxeDir}
+           cd $dir
 END
         $cmd .= <<END if $dirname ne '.';
 	    $sudo mkdir -p $dirname
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  parent reply	other threads:[~2017-01-20 12:21 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-20 12:18 [OSSTEST PATCH 00/35] ARM64 softiron support Ian Jackson
2017-01-20 12:18 ` [OSSTEST PATCH 01/35] Serial console: honour LinuxSerialConsole in bootloader setup Ian Jackson
2017-01-20 12:18 ` [OSSTEST PATCH 02/35] ts-host-install: Expect "pool" in ntp.conf, not only "server" Ian Jackson
2017-01-20 12:18 ` [OSSTEST PATCH 03/35] ts-host-install: NTP not honoured bug remains Ian Jackson
2017-01-20 12:18 ` [OSSTEST PATCH 04/35] mg-debian-installer-update: Break out default setting of src= Ian Jackson
2017-01-20 12:18 ` [OSSTEST PATCH 05/35] mg-debian-installer-update: Print working directory to stderr Ian Jackson
2017-01-20 12:18 ` [OSSTEST PATCH 06/35] mg-debian-installer-update: Log our version into our output Ian Jackson
2017-01-20 12:18 ` [OSSTEST PATCH 07/35] mg-debian-installer-update: backports: Provide pps and ptp Ian Jackson
2017-01-20 12:18 ` [OSSTEST PATCH 08/35] mg-debian-installer-update: backports: Add modules for EFI Ian Jackson
2017-01-20 12:18 ` [OSSTEST PATCH 09/35] mg-debian-installer-update: backports: Provide crypto Ian Jackson
2017-01-20 12:18 ` [OSSTEST PATCH 10/35] backports handling: Refactor kernel deb handling Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 11/35] backports handling: Make backports initramfs-tools optional Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 12/35] backports handling: Cope with dtbs in subdirs Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 13/35] d-i: Cope if .ssh already exists (in /target/root/ and also /home/...) Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 14/35] d-i grub: Extend UEFI workaround to stretch Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 15/35] pxe templates: Do defaulting outside host_pxefile Ian Jackson
2017-01-20 12:19 ` Ian Jackson [this message]
2017-01-20 12:19 ` [OSSTEST PATCH 17/35] netboot: Rename pxeboot functions Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 18/35] netboot: Change pxe to netboot in comments, docs and messages Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 19/35] netboot: Change pxe to netboot in variable names Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 20/35] netboot: Rename mg-netgrub-loader-update Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 21/35] netboot: Rename ./mg-hosts mknetbootdir subcommand Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 22/35] netboot: Break out subst_netboot_template Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 23/35] netboot: Introduce TftpNetGrub* Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 24/35] netboot: Change stash file name to not be pxelinux-specific Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 25/35] mg-netgrub-loader-update: Introduce $grubbase Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 26/35] mg-netgrub-loader-update: Introduce $img Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 27/35] netboot: UEFI grub: Do it more like pxe Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 28/35] netboot: mg-netgrub-loader-update: Print sample dhcp config fragment Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 29/35] netboot: Rename TftpNetbootGroup (from TftpPxeGroup) Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 30/35] netboot: mg-netgrub-loader-update: Add some more docs Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 31/35] d-i: preseed_create_guest: Break out preseed_backports_packages Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 32/35] d-i: backports: When using backports kernel for a host, install linux-base Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 33/35] d-i: When using backports kernel, suppress kernel modules warning Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 34/35] d-i: Add comment about interrupting the install Ian Jackson
2017-01-20 12:19 ` [OSSTEST PATCH 35/35] ARM64: Create jobs, and provide the installer (with backports kernel) Ian Jackson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1484914764-20861-17-git-send-email-ian.jackson@eu.citrix.com \
    --to=ian.jackson@eu.citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).