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 23/35] netboot: Introduce TftpNetGrub*
Date: Fri, 20 Jan 2017 12:19:12 +0000	[thread overview]
Message-ID: <1484914764-20861-24-git-send-email-ian.jackson@eu.citrix.com> (raw)
In-Reply-To: <1484914764-20861-1-git-send-email-ian.jackson@eu.citrix.com>

* When expanding netboot filenames, look for NetGrub config keys
  rather than Pxe filenames.  Currently this only affects mg-hosts
  because the files are created by setup_grub_efi_bootcfg, and the
  files are of course referred to only by the actual netboot grub
  image (which may be made by mg-netgrub-loader-update: neither of
  which honour these variables.

* Update the documentation, the default configs, and the
  production-config-*.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 Osstest.pm                  |  2 ++
 Osstest/TestSupport.pm      |  6 ++++--
 README                      | 23 +++++++++++++++++------
 production-config           |  3 +++
 production-config-cambridge |  3 +++
 5 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/Osstest.pm b/Osstest.pm
index 26fd9d9..4ebd922 100644
--- a/Osstest.pm
+++ b/Osstest.pm
@@ -221,6 +221,8 @@ sub readglobalconfig () {
     $c{TftpPath} ||= "/tftpboot/";
     $c{TftpPxeDir} ||= "pxelinux.cfg/";
     $c{TftpPxeTemplates} ||= '%ipaddrhex% 01-%etherhyph%';
+    $c{TftpNetGrubDir} ||= "Netgub.cfg/";
+    $c{TftpNetGrubTemplates} ||= '%ether%';
     $c{TftpPlayDir} ||= "$c{Username}/osstest/";
     $c{TftpTmpDir} ||= "$c{TftpPlayDir}tmp/";
 
diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index 990ddbc..6d0f967 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -994,7 +994,8 @@ sub selecthost ($) {
     $ho->{Tftp} = { };
     $ho->{Tftp}{$_} = $c{"Tftp${_}_${tftpscope}"} || $c{"Tftp${_}"}
         foreach qw(Path TmpDir PxeDir PxeGroup PxeTemplates PxeTemplatesReal
-                   DiBase GrubBase);
+                   DiBase GrubBase
+                   NetGrubDir NetGrubTemplates NetGrubTemplatesReal);
 
     #----- finalise -----
 
@@ -2389,7 +2390,8 @@ sub host_netboot_file ($;$) {
     # in array context, returns (dir, pathtail)
     #  where dir does not depend on $templatekeytail
     my %v = %r;
-    my $templatekeybase = 'Pxe';
+    my $firmware = get_host_property($ho, "firmware", "bios");
+    my $templatekeybase = $firmware eq 'uefi' ? 'NetGrub' : 'Pxe';
     $templatekeytail //= 'Templates';
     my $templatekey = $templatekeybase.$templatekeytail;
     my $templates = $ho->{Tftp}{$templatekey};
diff --git a/README b/README
index 91d0328..9dcb65e 100644
--- a/README
+++ b/README
@@ -501,14 +501,21 @@ Tftp*
 
     TftpPxeDir        The path under `Path' to the PXE configuration directory
                       (e.g. pxelinux.cfg/).   Include the trailing /.
-    TftpPxeGroup      The Unix group which should own files under `PxeDir'.
-    TftpPxeTemplates  See TftpPxeTemplates
-    TftpPxeTemplatesReal
+    TftpNetGrubDir    The path under `Path' to the grub EFI netboot directory
+                      Include the trailing /.
+
+    TftpPxeGroup      The Unix group which should own files under `PxeDir'
+                      and NetGrubDir.
+
+    TftpPxeTemplates          } See below
+    TftpPxeTemplatesReal      }
+    TftpNetGrubTemplates      }
+    TftpNetGrubTemplatesReal  }
 
     TftpDiBase        The path under `Path' to the root of the debian
                       installer images.
     TftpGrubBase      The path under `Path' to the root of the grub
-                      EFI netboot images.
+                      EFI netboot (`netgrub') images.
 
 Tftp<setting>_<scope>
 
@@ -524,6 +531,7 @@ Tftp<setting>_<scope>
     Tftp<setting>_default is not defined.
 
 TftpPxeTemplates
+TftpNetGrubTemplates
     List (space-separated) of template filenames for writing
     The templates contain variable substitutions %var%
     The variables are the runvars plus
@@ -535,11 +543,14 @@ TftpPxeTemplates
     Templates containing references to unknown %var%s - particularly,
     the host mac address when not known, or the guest's dynamic
     ip address - are skipped.  The first template all of whose ingredients
-    are known is used, with TftpPath and TftpPxeDir prepended.
+    are known is used, with TftpPath and TftpPxeDir or TftpNetGrubDir
+    prepended.
 
 TftpPxeTemplatesReal
+TftpNetGrubTemplatesReal
     Template filename which mg-hosts mknetbootdir should make be a
-    symlink to the TftpPxeTemplates.  Not used otherwise.
+    symlink to the TftpPxeTemplates or TftpNetGrubTemplates.  Not used
+    otherwise.
 
 Timezone
     Olson TZ name, used by host and guest installers
diff --git a/production-config b/production-config
index 9a299ac..1243d7c 100644
--- a/production-config
+++ b/production-config
@@ -84,6 +84,9 @@ TftpTmpDir osstest/tmp/
 TftpPxeDir /
 TftpPxeTemplates %name%/pxelinux.cfg
 TftpPxeTemplatesReal pxelinux.cfg/%ipaddrhex%
+TftpNetGrubDir /
+TftpNetGrubTemplates %name%/netgrub.cfg
+TftpNetGrubTemplatesReal Netgrub.cfg/%ether%
 
 TftpPxeGroup osstest
 # Update with ./mg-debian-installer-update(-all)
diff --git a/production-config-cambridge b/production-config-cambridge
index 9968caa..5aefe8f 100644
--- a/production-config-cambridge
+++ b/production-config-cambridge
@@ -67,6 +67,9 @@ TftpTmpDir osstest/tmp/
 TftpPxeDir /
 TftpPxeTemplates %name%/pxelinux.cfg
 TftpPxeTemplatesReal pxelinux.cfg/%ipaddrhex%
+TftpNetGrubDir /
+TftpNetGrubTemplates %name%/netgrub.cfg
+TftpNetGrubTemplatesReal Netgrub.cfg/%ether%
 
 TftpPxeGroup osstest
 TftpDiVersion_wheezy 2016-06-08
-- 
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 ` [OSSTEST PATCH 16/35] netboot: Rework interface to host_netboot_file (was host_pxefile) Ian Jackson
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 ` Ian Jackson [this message]
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-24-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).