[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [OSSTEST PATCH 23/35] netboot: Introduce TftpNetGrub*
* 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@xxxxxxxxxxxxx> --- 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@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |