diff options
| -rw-r--r-- | addDroplet.go | 53 |
1 files changed, 32 insertions, 21 deletions
diff --git a/addDroplet.go b/addDroplet.go index 40665ef..6a8f17b 100644 --- a/addDroplet.go +++ b/addDroplet.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" + "go.wit.com/log" "libvirt.org/go/libvirtxml" ) @@ -19,11 +20,7 @@ func addDomainDroplet(domcfg *libvirtxml.Domain) (*DropletT, error) { return d, errors.New(d.pb.Hostname + " droplet exists. need to update instead") } - // test add some ethernet devices - macs := getMacs(domcfg) - fmt.Printf("Virt mac addr:%s\n", macs) - - fmt.Println("ADD FAILED", domcfg.Name, domcfg.UUID) + log.Info("ADD FAILED", domcfg.Name, domcfg.UUID) return nil, errors.New("not found") } @@ -69,17 +66,8 @@ func updateDroplet(d *DropletT, domcfg *libvirtxml.Domain) bool { return false } - // check memory - if domcfg.Memory.Unit == "KiB" { - var m int64 - m = int64(domcfg.Memory.Value * 1024) - if d.pb.Memory != m { - d.pb.Memory = m - me.changed = true - fmt.Printf("Memory changed %d, %d %s\n", d.pb.Memory, domcfg.Memory.Value, domcfg.Memory.Unit) - } - } else { - fmt.Println("Unknown Memory Unit", domcfg.Memory.Unit) + if updateMemory(d, domcfg) { + // updateMemory failed ok = false } @@ -96,11 +84,10 @@ func updateDroplet(d *DropletT, domcfg *libvirtxml.Domain) bool { ok = false } - // test add some ethernet devices - macs := getMacs(domcfg) - fmt.Printf("Virt mac addr:%s\n", macs) - - // fmt.Println("UPDATE FAILED", domcfg.Name, domcfg.UUID) + if updateNetwork(d, domcfg) { + // updateNetwork failed + ok = false + } return ok } @@ -124,3 +111,27 @@ func updateMemory(d *DropletT, domcfg *libvirtxml.Domain) bool { fmt.Println("Unknown Memory Unit", domcfg.Memory.Unit) return true } + +func updateNetwork(d *DropletT, domcfg *libvirtxml.Domain) bool { + if (d == nil) || (domcfg == nil) { + return false + } + + var macs []string + // Iterate over the network interfaces and print the MAC addresses + for _, iface := range domcfg.Devices.Interfaces { + if iface.MAC != nil { + // iface.MAC.Address = "aa:bb:aa:bb:aa:ff" + // fmt.Printf("MAC Address: %+v\n", iface.MAC) + // fmt.Printf("Interface: %s, MAC Address: %s\n", iface.Target.Dev, iface.MAC.Address) + macs = append(macs, iface.MAC.Address) + } else { + fmt.Printf("Interface: %s, MAC Address: not available\n", iface.Target.Dev) + } + } + + // for _, iface := range domcfg.Devices.Interfaces { + + log.Info("mac addrs:", macs) + return false +} |
