diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 60 |
1 files changed, 26 insertions, 34 deletions
@@ -7,11 +7,9 @@ import ( "os" "path/filepath" "strings" - "errors" "go.wit.com/dev/alexflint/arg" "go.wit.com/log" - pb "go.wit.com/lib/protobuf/virtbuf" ) var Version string @@ -31,7 +29,20 @@ func main() { } if argv.Dump != nil { if argv.Dump.Droplets { - dumpDroplets() + dumpDroplets(false) + os.Exit(0) + } + if argv.Dump.DropletsFull { + dumpStdout("/dumpdropletsfull") + dumpDroplets(true) + os.Exit(0) + } + if argv.Dump.Uptime { + dumpStdout("/uptime") + os.Exit(0) + } + if argv.Dump.Hypervisors { + dumpStdout("/dumphypervisors") os.Exit(0) } log.Info("dump something here") @@ -53,10 +64,15 @@ func main() { } } -func dumpDroplets() error { +func dumpDroplets(full bool) error { log.DaemonMode(true) log.Info("dump droplets here ==", argv.Dump.Droplets) - url := urlbase + "/dumpdroplets" + var url string + if full { + url = urlbase + "/dumpdropletsfull" + } else { + url = urlbase + "/dumpdroplets" + } body, err := httpPost(url, nil) if err != nil { log.Info("httpPost() failed:", err) @@ -71,41 +87,17 @@ func dumpDroplets() error { return nil } -func createFilename(dir string, filename string) error { - log.Info("dir ==", dir) - log.Info("filename ==", filename) - - filetype := filepath.Ext(filename) - if filetype != ".qcow2" { - log.Info("file type", filetype, "not supported") - return errors.New("only supporting qcow2 images for now") - } - hostname := strings.TrimSuffix(filename, filetype) - log.Info("hostname ==", hostname) - - var newDroplet *pb.Droplet - newDroplet = new(pb.Droplet) - newDroplet.Hostname = hostname - newDisk := new(pb.Disk) - newDisk.Filename = filename - newDisk.Filepath = dir - newDroplet.Disks = append(newDroplet.Disks, newDisk) - - bytes, err := newDroplet.MarshalJSON() - if err != nil { - log.Info("virtbuf.MarshalJson() failed:", err) - return err - } - - url := urlbase + "/create" - body, err := httpPost(url, bytes) +func dumpStdout(route string) error { + log.DaemonMode(true) + url := urlbase + route + log.Info("dump url here ==", url) + body, err := httpPost(url, nil) if err != nil { log.Info("httpPost() failed:", err) return err } test := strings.TrimSpace(string(body)) - // log.Info("virtigo returned body:", test) for _, line := range strings.Split(test, "\n") { log.Info("GOT:", line) } |
