From 299f1db41c637b56460b6be2f8ee6dc7d2640c99 Mon Sep 17 00:00:00 2001 From: Rafael Lopez Date: Tue, 25 Mar 2025 14:37:15 +1100 Subject: [PATCH] fix import from yaml where node does not pre-exist Check if node exists, if not add it first before attempting SetNode(). Fixes: #1842 Signed-off-by: Rafael Lopez --- internal/pkg/api/node/edit.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/pkg/api/node/edit.go b/internal/pkg/api/node/edit.go index 31f46358..d8b90b23 100644 --- a/internal/pkg/api/node/edit.go +++ b/internal/pkg/api/node/edit.go @@ -22,6 +22,12 @@ func NodeAddFromYaml(nodeList *wwapiv1.NodeYaml) (err error) { return fmt.Errorf("could not unmarshal Yaml: %w", err) } for nodeName, node := range nodeMap { + if _, err = nodeDB.GetNodeOnly(nodeName); err == node.ErrNotFound { + _, err = nodeDB.AddNode(nodeName) + if err != nil { + return fmt.Errorf("couldn't add new node: %w", err) + } + } err = nodeDB.SetNode(nodeName, *node) if err != nil { return fmt.Errorf("couldn't set node: %w", err)