summaryrefslogtreecommitdiff
path: root/addDroplet.go
diff options
context:
space:
mode:
Diffstat (limited to 'addDroplet.go')
-rw-r--r--addDroplet.go59
1 files changed, 38 insertions, 21 deletions
diff --git a/addDroplet.go b/addDroplet.go
index 9027526..7cd9676 100644
--- a/addDroplet.go
+++ b/addDroplet.go
@@ -166,7 +166,7 @@ func updateDroplet(d *DropletT, domcfg *libvirtxml.Domain) ([]*pb.Event, error)
nete, err := updateNetwork(d, domcfg)
if err != nil {
log.Info("updateNetwork() failed", err)
- return alle, errors.New("updateNetwork() failed")
+ return alle, err
}
for _, e := range nete {
@@ -176,8 +176,14 @@ func updateDroplet(d *DropletT, domcfg *libvirtxml.Domain) ([]*pb.Event, error)
log.Info("TODO: fix updateDisk() change events")
log.Info("TODO: fix updateDisk() change events")
log.Info("TODO: fix updateDisk() change events")
- if !updateDisk(d, domcfg) {
- return alle, errors.New("updateDisk() failed")
+ nete, err = updateDisk(d, domcfg)
+ if err != nil {
+ log.Info("updateDisk() failed", err)
+ return alle, err
+ }
+
+ for _, e := range nete {
+ alle = append(alle, e)
}
if alle == nil {
@@ -185,8 +191,6 @@ func updateDroplet(d *DropletT, domcfg *libvirtxml.Domain) ([]*pb.Event, error)
return alle, nil
}
log.Info("libvirt xml import worked. droplet changed", domcfg.Name)
- // log.Info("all change events", alle)
- me.changed = true
// append each change event
for _, e := range alle {
@@ -349,9 +353,11 @@ func updateNetwork(d *DropletT, domcfg *libvirtxml.Domain) ([]*pb.Event, error)
*/
// returns false if something went wrong
-func updateDisk(d *DropletT, domcfg *libvirtxml.Domain) bool {
+func updateDisk(d *DropletT, domcfg *libvirtxml.Domain) ([]*pb.Event, error) {
+ var alle []*pb.Event
+
if (d == nil) || (domcfg == nil) {
- return false
+ return nil, errors.New("domcfg == nil")
}
for _, disk := range domcfg.Devices.Disks {
var t *libvirtxml.DomainDiskSourceFile
@@ -366,21 +372,32 @@ func updateDisk(d *DropletT, domcfg *libvirtxml.Domain) bool {
continue
}
- var found bool = false
- for _, disk := range d.pb.Disks {
- if disk.Filename == filename {
- log.Verbose("OKAY. FOUND filename", filename)
- found = true
- }
+ e, err := insertFilename(d.pb, filename)
+ if err != nil {
+ return alle, err
}
- if !found {
- var disk *pb.Disk
- disk = new(pb.Disk)
- disk.Filename = filename
- d.pb.Disks = append(d.pb.Disks, disk)
- log.Info("New filename", filename)
- me.changed = true
+ if e == nil {
+ continue
}
+ alle = append(alle, e)
+
+ /*
+ var found bool = false
+ for _, disk := range d.pb.Disks {
+ if disk.Filename == filename {
+ log.Verbose("OKAY. FOUND filename", filename)
+ found = true
+ }
+ }
+ if !found {
+ var disk *pb.Disk
+ disk = new(pb.Disk)
+ disk.Filename = filename
+ d.pb.Disks = append(d.pb.Disks, disk)
+ log.Info("New filename", filename)
+ me.changed = true
+ }
+ */
}
- return true
+ return alle, nil
}