diff options
Diffstat (limited to 'addDroplet.go')
| -rw-r--r-- | addDroplet.go | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/addDroplet.go b/addDroplet.go new file mode 100644 index 0000000..215f4a4 --- /dev/null +++ b/addDroplet.go @@ -0,0 +1,53 @@ +// 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") +} |
