droplet list works
This commit is contained in:
parent
16558e1b72
commit
69ee3b95d0
4
Makefile
4
Makefile
|
@ -9,6 +9,7 @@ REDOMOD = $(shell if [ -e go.sum ]; then echo go.sum exists; else GO111MODULE=
|
|||
all: install
|
||||
@echo build worked
|
||||
virtigo list droplets
|
||||
virtigo list droplets --on
|
||||
|
||||
build: goimports vet
|
||||
GO111MODULE=off go build \
|
||||
|
@ -117,3 +118,6 @@ protogen:
|
|||
|
||||
gocui: install
|
||||
virtigo --gui gocui --gui-verbose --gui-file ../../toolkits/gocui/gocui.so >/tmp/forge.log 2>&1
|
||||
|
||||
log:
|
||||
journalctl -f -xeu virtigod.service
|
||||
|
|
5
argv.go
5
argv.go
|
@ -28,8 +28,9 @@ type EmptyCmd struct {
|
|||
type testCmd string
|
||||
|
||||
type ListCmd struct {
|
||||
Droplets *EmptyCmd `arg:"subcommand:droplets" help:"list droplets"`
|
||||
Hypervisors *EmptyCmd `arg:"subcommand:hypervisors" help:"list hypervisors"`
|
||||
Droplets *EmptyCmd `arg:"subcommand:droplets" help:"list droplets"`
|
||||
Hypervisors *EmptyCmd `arg:"subcommand:hypervisors" help:"list hypervisors"`
|
||||
On bool `arg:"--on" help:"only show things that are on"`
|
||||
}
|
||||
|
||||
func (a args) Description() string {
|
||||
|
|
|
@ -171,7 +171,7 @@ func (admin *adminT) doAdminGui() {
|
|||
for c := range me.clusters.IterAll() {
|
||||
a := new(adminT)
|
||||
me.cmap[c] = a
|
||||
log.Info("found in the config file", c.URL)
|
||||
log.Info("found in the config file", c.URL[0])
|
||||
a.makeClusterGroup(c)
|
||||
}
|
||||
|
||||
|
@ -184,7 +184,7 @@ func (admin *adminT) doAdminGui() {
|
|||
|
||||
func (admin *adminT) makeClusterGroup(c *virtpb.Cluster) {
|
||||
var err error
|
||||
admin.url, err = url.Parse(c.URL)
|
||||
admin.url, err = url.Parse(c.URL[0])
|
||||
if err != nil {
|
||||
badExit(err)
|
||||
}
|
||||
|
|
76
doList.go
76
doList.go
|
@ -6,7 +6,6 @@ package main
|
|||
// An app to submit patches for the 30 GO GUI repos
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"time"
|
||||
|
@ -15,52 +14,6 @@ import (
|
|||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
// refresh the windows & tables the user has open
|
||||
func doListDroplets() {
|
||||
/*
|
||||
// update the droplet list
|
||||
if data, err := postData(admin.url.String()+"/DropletsPB", msg); err != nil {
|
||||
log.Info("/DropletsPB Error:", err)
|
||||
} else {
|
||||
fmt.Println("DropletsPB Response len:", len(data))
|
||||
admin.droplets = new(virtpb.Droplets)
|
||||
if err := admin.droplets.Unmarshal(data); err != nil {
|
||||
fmt.Println("droplets marshal failed", err)
|
||||
return
|
||||
}
|
||||
fmt.Println("Droplet len=", admin.droplets.Len())
|
||||
}
|
||||
|
||||
// update the hypervisor list
|
||||
if data, err := postData(admin.url.String()+"/HypervisorsPB", msg); err != nil {
|
||||
log.Info("Error:", err)
|
||||
} else {
|
||||
fmt.Println("HypervisorsPB Response len:", len(data))
|
||||
admin.hypervisors = new(virtpb.Hypervisors)
|
||||
if err := admin.hypervisors.Unmarshal(data); err != nil {
|
||||
fmt.Println("hypervisors marshal failed", err)
|
||||
return
|
||||
}
|
||||
fmt.Println("Hypervisors len=", admin.hypervisors.Len())
|
||||
}
|
||||
|
||||
// update the events list
|
||||
if data, err := postData(admin.url.String()+"/EventsPB", msg); err != nil {
|
||||
log.Info("Error:", err)
|
||||
} else {
|
||||
fmt.Println("EventsPB Response len:", len(data))
|
||||
admin.events = new(virtpb.Events)
|
||||
if err := admin.events.Unmarshal(data); err != nil {
|
||||
fmt.Println("events marshal failed", err)
|
||||
return
|
||||
}
|
||||
fmt.Println("Events len=", admin.events.Len())
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
// var client *http.Client
|
||||
|
||||
func doList() {
|
||||
msg := []byte(`{"message": "Hello"}`)
|
||||
|
||||
|
@ -77,26 +30,39 @@ func doList() {
|
|||
var err error
|
||||
admin := new(adminT)
|
||||
me.cmap[c] = admin
|
||||
log.Info("found in the config file", c.URL)
|
||||
log.Info("found in the config file", c.URL[0])
|
||||
// a.makeClusterGroup(c)
|
||||
admin.url, err = url.Parse(c.URL)
|
||||
admin.url, err = url.Parse(c.URL[0])
|
||||
if err != nil {
|
||||
badExit(err)
|
||||
}
|
||||
|
||||
// update the droplet list
|
||||
if data, err := postData(admin.url.String()+"/DropletsPB", msg); err != nil {
|
||||
log.Info("/DropletsPB Error:", err)
|
||||
continue
|
||||
} else {
|
||||
fmt.Println("DropletsPB Response len:", len(data))
|
||||
admin.droplets = new(virtpb.Droplets)
|
||||
if err := admin.droplets.Unmarshal(data); err != nil {
|
||||
fmt.Println("droplets marshal failed", err)
|
||||
return
|
||||
log.Printf("DropletsPB Response len:%d\n", len(data))
|
||||
log.Println("droplets marshal failed", err)
|
||||
continue
|
||||
}
|
||||
fmt.Println("Droplet len=", admin.droplets.Len())
|
||||
}
|
||||
log.Printf("Cluster Name: %s\n", c.Name)
|
||||
log.Printf("Number of Droplets: %d\n", admin.droplets.Len())
|
||||
|
||||
var found *virtpb.Droplets
|
||||
found = virtpb.NewDroplets()
|
||||
all := admin.droplets.All()
|
||||
for all.Scan() {
|
||||
vm := all.Next()
|
||||
if argv.List.On && (vm.Current.State == virtpb.DropletState_OFF) {
|
||||
continue
|
||||
}
|
||||
found.Append(vm)
|
||||
log.Info(vm.SprintHeader())
|
||||
}
|
||||
log.Println("On Droplet count=", found.Len())
|
||||
}
|
||||
|
||||
// sit here forever refreshing the GUI
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue