// Copyright 2024 WIT.COM Inc Licensed GPL 3.0 package main import ( "fmt" "os" "go.wit.com/log" "libvirt.org/go/libvirtxml" ) func makeDroplet(start string) { tmp := findDroplet(start) d := tmp.pb if d == nil { log.Info("droplet is unknown:", start) os.Exit(0) } log.Info("start droplet here:", d.Hostname) domcfg := &libvirtxml.Domain{} addDefaultXml(domcfg, "standard.x86") addDefaultXml(domcfg, "memory") addDefaultXml(domcfg, "network") addDefaultXml(domcfg, "spice") addDefaultXml(domcfg, "qcow") domcfg.Type = "kvm" domcfg.Name = d.Hostname domcfg.UUID = d.Uuid var i uint i = uint(d.Memory / (1024 * 1024)) domcfg.Memory.Value = i domcfg.Memory.Unit = "MiB" fmt.Printf("Virt Memory %d %s\n", domcfg.Memory.Value, domcfg.Memory.Unit) // addEthernet(domcfg, "04:44:33:11:22:11", "worldbr") // addEthernet(domcfg, "04:44:33:33:44:55", "greenbr") for _, n := range d.Networks { log.Info("add network", d.Hostname, "mac addr", n.Mac, "interface", n.Name) } // add a check here to make these unique // setRandomMacs(domcfg) qcow := "/home/nfs/" + d.Hostname + ".qcow2" setSimpleDisk(domcfg, qcow) writeoutXml(domcfg, "blahcarr") }