diff --git a/Makefile b/Makefile index 07bd16c..ae2d873 100644 --- a/Makefile +++ b/Makefile @@ -7,8 +7,7 @@ REDOMOD = $(shell if [ -e go.sum ]; then echo go.sum exists; else GO111MODULE= all: GO111MODULE=off go build -v -ldflags "-X main.Version=${VERSION} -X gui.GUIVERSION=${VERSION}" ./virtigo --version - # ./virtigo --hosts farm01 farm02 farm03 - ./virtigo --start jcarr + ./virtigo start-all-droplets: curl --silent http://localhost:8080/start?start=git.wit.org diff --git a/argv.go b/argv.go index 003f170..7c584b9 100644 --- a/argv.go +++ b/argv.go @@ -11,11 +11,11 @@ import "go.wit.com/log" var argv args type args struct { + Dir string `arg:"--dir" help:"defaults to ~/.config/virtigo/"` + Port int `arg:"--port" default:"8080" help:"specify a different default port"` Hosts []string `arg:"--hosts" help:"hosts to connect to"` Uptime bool `arg:"--uptime" default:"true" help:"allow uptime checks for things like Kuma"` - Port int `arg:"--port" default:"8080" help:"specify a different default port"` Daemon bool `arg:"--daemon" help:"run in daemon mode"` - Start string `arg:"--start" help:"droplet to start"` } func (a args) Description() string { diff --git a/main.go b/main.go index f97f891..ad38d8a 100644 --- a/main.go +++ b/main.go @@ -57,43 +57,6 @@ func main() { } */ - if argv.Start != "" { - d := findDroplet(argv.Start) - if d == nil { - log.Info("droplet is unknown:", argv.Start) - os.Exit(0) - } - log.Info("start droplet here:", d.pb.Hostname) - domcfg := makeStandardXml(d) - - 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) - - // test add some ethernet devices - macs := getMacs(domcfg) - fmt.Printf("Virt mac addr:%s\n", macs) - - // clearEthernet(domcfg) - - addEthernet(domcfg, "04:44:33:11:22:11", "worldbr") - addEthernet(domcfg, "04:44:33:33:44:55", "greenbr") - - // add a check here to make these unique - // setRandomMacs(domcfg) - - // print out the final mac addresses - macs = getMacs(domcfg) - fmt.Printf("Virt mac addr:%s\n", macs) - - qcow := "/home/nfs/" + d.pb.Hostname + ".qcow2" - setSimpleDisk(domcfg, qcow) - - writeoutXml(domcfg, "blahcarr") - os.Exit(0) - } - // start the watchdog polling for each hypervisor for _, h := range me.hypers { log.Info("starting polling on", h.pb.Hostname) @@ -103,3 +66,40 @@ func main() { // sit here startHTTP() } + +func makeDroplet(start string) { + d := findDroplet(start) + if d == nil { + log.Info("droplet is unknown:", start) + os.Exit(0) + } + log.Info("start droplet here:", d.pb.Hostname) + domcfg := makeStandardXml(d) + + 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) + + // test add some ethernet devices + macs := getMacs(domcfg) + fmt.Printf("Virt mac addr:%s\n", macs) + + // clearEthernet(domcfg) + + addEthernet(domcfg, "04:44:33:11:22:11", "worldbr") + addEthernet(domcfg, "04:44:33:33:44:55", "greenbr") + + // add a check here to make these unique + // setRandomMacs(domcfg) + + // print out the final mac addresses + macs = getMacs(domcfg) + fmt.Printf("Virt mac addr:%s\n", macs) + + qcow := "/home/nfs/" + d.pb.Hostname + ".qcow2" + setSimpleDisk(domcfg, qcow) + + writeoutXml(domcfg, "blahcarr") + os.Exit(0) +}