wwlog provides named loggers for each level, which requires less code and is clearer than wwlog.Printf. The code has included a mix of both, but this commit consolidates existing code on the per-level functions. Signed-off-by: Jonathon Anderson <janderson@ciq.co>
33 lines
539 B
Go
33 lines
539 B
Go
package warewulfconf
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/hpcng/warewulf/internal/pkg/wwlog"
|
|
"gopkg.in/yaml.v2"
|
|
)
|
|
|
|
func (controller *ControllerConf) Persist() error {
|
|
|
|
out, err := yaml.Marshal(controller)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
file, err := os.OpenFile(ConfigFile, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
|
|
if err != nil {
|
|
wwlog.Error("%s\n", err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
defer file.Close()
|
|
|
|
_, err = file.WriteString(string(out)+"\n")
|
|
if err != nil {
|
|
wwlog.Error("Unable to write to warewulf.conf\n")
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|