summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addDroplet.go53
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
+}