From 098c288ce215d2ac4420a6a5db3b9bf4a3b18a73 Mon Sep 17 00:00:00 2001 From: Jonathon Anderson Date: Wed, 4 Dec 2024 16:37:36 -0700 Subject: [PATCH] Provide detected kernel version to overlay templates Signed-off-by: Jonathon Anderson --- CHANGELOG.md | 1 + internal/pkg/overlay/datastructure.go | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b94a55eb..fe32b667 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -76,6 +76,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Repurpose Kernel.Override to specify the path to the desired kernel within the container. #1556 - Merge Kernel.Override into Kernel.Version to specify the desired kernel version or path. #1556 - Repurpose `wwctl kernel list` to list discovered kernels from containers. #1556 +- Provide detected kernel version to overlay templates. #1556 ### Removed diff --git a/internal/pkg/overlay/datastructure.go b/internal/pkg/overlay/datastructure.go index 240fcb2b..d2c71d5b 100644 --- a/internal/pkg/overlay/datastructure.go +++ b/internal/pkg/overlay/datastructure.go @@ -8,6 +8,7 @@ import ( "time" warewulfconf "github.com/warewulf/warewulf/internal/pkg/config" + "github.com/warewulf/warewulf/internal/pkg/kernel" "github.com/warewulf/warewulf/internal/pkg/node" ) @@ -55,6 +56,14 @@ func InitStruct(nodeData node.Node) (TemplateStruct, error) { return tstruct, err } tstruct.ThisNode = &nodeData + if tstruct.ThisNode.Kernel == nil { + tstruct.ThisNode.Kernel = new(node.KernelConf) + } + if tstruct.ThisNode.Kernel.Version == "" { + if kernel_ := kernel.FromNode(tstruct.ThisNode); kernel_ != nil { + tstruct.ThisNode.Kernel.Version = kernel_.Version() + } + } tstruct.Nfs = *controller.NFS tstruct.Ssh = *controller.SSH tstruct.Dhcp = *controller.DHCP