added hash check for node edit

Signed-off-by: Christian Goll <cgoll@suse.de>
This commit is contained in:
Christian Goll
2023-02-28 15:58:44 +01:00
parent ee4f9d53d6
commit b4acf0fdf2
10 changed files with 604 additions and 432 deletions

View File

@@ -88,12 +88,20 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
if !yes {
break
}
err = apinode.NodeDelete(&wwapiv1.NodeDeleteParameter{NodeNames: nodeList, Force: true})
err = apinode.NodeDelete(&wwapiv1.NodeDeleteParameter{
NodeNames: nodeList,
Hash: nodeListMsg.Hash,
})
if err != nil {
wwlog.Verbose("Problem deleting nodes before modification %s")
wwlog.Error("Problem deleting nodes before modification: %s", err)
return err
}
buffer, _ = yaml.Marshal(modifiedNodeMap)
err = apinode.NodeAddFromYaml(&wwapiv1.NodeYaml{NodeConfMapYaml: string(buffer)})
newHash := apinode.Hash()
err = apinode.NodeAddFromYaml(&wwapiv1.NodeYaml{
NodeConfMapYaml: string(buffer),
Hash: newHash.Hash,
})
if err != nil {
wwlog.Error("Got following problem when writing back yaml: %s", err)
os.Exit(1)