From e807365ee9e539befc627d1ed2f2c6f7038bed9c Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Wed, 23 Oct 2024 05:54:59 -0500 Subject: [PATCH] maybe adds new droplets from libvirt xml Signed-off-by: Jeff Carr --- addDroplet.go | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/addDroplet.go b/addDroplet.go index 1af9cee..ebdcaf1 100644 --- a/addDroplet.go +++ b/addDroplet.go @@ -20,9 +20,25 @@ func addDomainDroplet(domcfg *libvirtxml.Domain) (*DropletT, error) { if d != nil { return d, errors.New(d.pb.Hostname + " droplet exists. need to update instead") } + // this is a new unknown droplet (not in the config file) + d = new(DropletT) - log.Info("ADD FAILED", domcfg.Name, domcfg.UUID) - return nil, errors.New("not found") + d.pb = me.cluster.AddDroplet(domcfg.UUID, domcfg.Name, 2, 2*1024*1024) + me.droplets = append(me.droplets, d) + me.changed = true + + if updateDroplet(d, domcfg) { + if me.changed { + log.Info("updateDroplet() worked. droplet changed") + } else { + log.Info("updateDroplet() worked. nothing changed") + } + } else { + log.Info("updateDroplet() failed for", d.pb.Hostname) + return d, errors.New("update failed for " + domcfg.Name) + } + log.Info("added new droplet", domcfg.Name, domcfg.UUID) + return d, nil } func findDomain(domcfg *libvirtxml.Domain) (*DropletT, error) { @@ -192,7 +208,7 @@ func updateDisk(d *DropletT, domcfg *libvirtxml.Domain) bool { t = disk.Source.File filename := t.File if filename == "" { - fmt.Println("No disk source file found.") + fmt.Println("No disk source file found.") continue }