// Copyright 2024 WIT.COM Inc Licensed GPL 3.0 package main import ( "errors" "fmt" "libvirt.org/go/libvirtxml" ) func addDroplet(domcfg *libvirtxml.Domain) (*DropletT, error) { var found *DropletT if domcfg == nil { return nil, errors.New("domcfg == nil") } // fmt.Printf("Virt type %s\n", domcfg.Type) // fmt.Printf("Virt name %s\n", domcfg.Name) // fmt.Printf("Virt UUID %s\n", domcfg.UUID) // fmt.Printf("Virt Memory %d %s\n", domcfg.Memory.Value, domcfg.Memory.Unit) for _, d := range me.droplets { if d.pb.Hostname == domcfg.Name { if d.pb.Uuid == domcfg.UUID { fmt.Println("FOUND NAME", domcfg.Name, domcfg.UUID) fmt.Println("CHANGED UUID", d.pb.Uuid, domcfg.UUID) } else { d.pb.Uuid = domcfg.UUID me.changed = true } if found == nil { found = d } else { fmt.Println("FOUND TWICE", d.pb.Uuid, domcfg.Name, domcfg.UUID) return d, errors.New("Found Twice") } } if d.pb.Uuid == domcfg.UUID { if d.pb.Hostname == domcfg.Name { fmt.Println("FOUND UUID WITH MATCHING NAME", domcfg.Name, domcfg.UUID) } else { fmt.Println("FOUND UUID WITH MIS-MATCHED NAME", domcfg.Name, domcfg.UUID) return d, errors.New("UUID with mis-matched names") } } } // test add some ethernet devices macs := getMacs(domcfg) fmt.Printf("Virt mac addr:%s\n", macs) return nil, errors.New("not found") }