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 <raflopez1@gmail.com>
This commit is contained in:
Rafael Lopez
2025-03-25 14:37:15 +11:00
committed by Jonathon Anderson
parent 446ad07d2f
commit 299f1db41c

View File

@@ -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)