summaryrefslogtreecommitdiff
path: root/importXML.go
diff options
context:
space:
mode:
Diffstat (limited to 'importXML.go')
-rw-r--r--importXML.go36
1 files changed, 15 insertions, 21 deletions
diff --git a/importXML.go b/importXML.go
index e1425ce..fea2bbb 100644
--- a/importXML.go
+++ b/importXML.go
@@ -3,42 +3,36 @@
package virtigolib
import (
+ "errors"
+ "fmt"
+
+ pb "go.wit.com/lib/protobuf/virtbuf"
"go.wit.com/log"
"libvirt.org/go/libvirtxml"
)
-// import a libvirt xml domain
-/*
-func badImportXML(domcfg *libvirtxml.Domain) (*pb.Droplet, []*pb.Event, error) {
- var alle []*pb.Event
- var d *pb.Droplet
+// do a test import of a libvirt xml domain
+func TestLibvirtDomain(domcfg *libvirtxml.Domain) (*pb.Droplet, error) {
+ d := new(pb.Droplet)
+ d.Current = new(pb.Current)
if domcfg == nil {
- return nil, alle, errors.New("domcfg == nil")
- }
-
- d, err = c.InitDroplet(domcfg.Name)
- if err != nil {
- // use merge instead
- os.Exit(-1)
+ return d, errors.New("domcfg == nil")
}
- d.Uuid = domcfg.UUID
- alle, err := MergelibvirtDomain(d, domcfg)
+ _, err := MergelibvirtDomain(d, domcfg)
if err != nil {
- log.Info("updateDroplet() failed for", d.Hostname)
- return d, alle, errors.New("update failed for " + domcfg.Name)
+ return d, errors.New("Merge *libvirt.Domain failed " + domcfg.Name)
}
- log.Info("added new droplet", domcfg.Name, domcfg.UUID)
s, err := DumpNonStandardXML(domcfg)
+ d.Current.FullXml = s
if err != nil {
reason := s + "\n"
reason = fmt.Sprintln("DumpNonStandardXML() on", domcfg.Name, "failed for", err)
- log.Info(reason)
- return d, alle, errors.New(reason)
+ log.Warn(reason)
+ return d, err
}
- return d, alle, nil
+ return d, nil
}
-*/
func MergeXml(d *libvirtxml.Domain, xml string) error {
err := d.Unmarshal(xml)