diff options
Diffstat (limited to 'addDroplet.go')
| -rw-r--r-- | addDroplet.go | 59 |
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 } |
