diff --git a/internal/pkg/warewulfd/runtime.go b/internal/pkg/warewulfd/runtime.go index 99afb7fb..c29589ab 100644 --- a/internal/pkg/warewulfd/runtime.go +++ b/internal/pkg/warewulfd/runtime.go @@ -66,7 +66,7 @@ func RuntimeOverlaySend(w http.ResponseWriter, req *http.Request) { if n.RuntimeOverlay.Defined() { fileName := config.RuntimeOverlayImage(n.Id.Get()) - if util.PathIsNewer(fileName, node.ConfigFile) { + if !util.IsFile(fileName) || util.PathIsNewer(fileName, node.ConfigFile) || util.PathIsNewer(fileName, config.RuntimeOverlaySource(n.RuntimeOverlay.Get())) { daemonLogf("BUILD: %15s: Runtime Overlay\n", n.Id.Get()) _ = overlay.BuildRuntimeOverlay([]node.NodeInfo{n}) } diff --git a/internal/pkg/warewulfd/system.go b/internal/pkg/warewulfd/system.go index 7921cfe1..84344318 100644 --- a/internal/pkg/warewulfd/system.go +++ b/internal/pkg/warewulfd/system.go @@ -20,7 +20,7 @@ func SystemOverlaySend(w http.ResponseWriter, req *http.Request) { if n.SystemOverlay.Defined() { fileName := config.SystemOverlayImage(n.Id.Get()) - if !util.IsFile(fileName) || util.PathIsNewer(fileName, node.ConfigFile) { + if !util.IsFile(fileName) || util.PathIsNewer(fileName, node.ConfigFile) || util.PathIsNewer(fileName, config.SystemOverlaySource(n.SystemOverlay.Get())) { daemonLogf("BUILD: %15s: System Overlay\n", n.Id.Get()) _ = overlay.BuildSystemOverlay([]node.NodeInfo{n}) }