summaryrefslogtreecommitdiff
path: root/xml.go
diff options
context:
space:
mode:
Diffstat (limited to 'xml.go')
-rw-r--r--xml.go21
1 files changed, 20 insertions, 1 deletions
diff --git a/xml.go b/xml.go
index 1f0da87..08d9f51 100644
--- a/xml.go
+++ b/xml.go
@@ -71,7 +71,26 @@ func addDefaults(d *libvirtxml.Domain, filename string) {
}
}
-func (d *DropletT) readXml(filename string) error {
+func readXml(filename string) (*libvirtxml.Domain, error) {
+ log.Info("parse xml file:", filename)
+
+ pfile, err := os.ReadFile(filename)
+ if err != nil {
+ log.Println("ERROR:", err)
+ return nil, err
+ }
+
+ domcfg := &libvirtxml.Domain{}
+
+ err = domcfg.Unmarshal(string(pfile))
+ if err != nil {
+ log.Info("Marshal failed on file", filename, err)
+ return nil, ErrorParseXML
+ }
+ return domcfg, nil
+}
+
+func (d *DropletT) mergeXml(filename string) error {
log.Info("parse xml file:", filename)
pfile, err := os.ReadFile(filename)