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
|
all: install
|
||||||
@echo build worked
|
@echo build worked
|
||||||
virtigo list droplets
|
virtigo list droplets
|
||||||
|
virtigo list droplets --on
|
||||||
|
|
||||||
build: goimports vet
|
build: goimports vet
|
||||||
GO111MODULE=off go build \
|
GO111MODULE=off go build \
|
||||||
|
@ -117,3 +118,6 @@ protogen:
|
||||||
|
|
||||||
gocui: install
|
gocui: install
|
||||||
virtigo --gui gocui --gui-verbose --gui-file ../../toolkits/gocui/gocui.so >/tmp/forge.log 2>&1
|
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 testCmd string
|
||||||
|
|
||||||
type ListCmd struct {
|
type ListCmd struct {
|
||||||
Droplets *EmptyCmd `arg:"subcommand:droplets" help:"list droplets"`
|
Droplets *EmptyCmd `arg:"subcommand:droplets" help:"list droplets"`
|
||||||
Hypervisors *EmptyCmd `arg:"subcommand:hypervisors" help:"list hypervisors"`
|
Hypervisors *EmptyCmd `arg:"subcommand:hypervisors" help:"list hypervisors"`
|
||||||
|
On bool `arg:"--on" help:"only show things that are on"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a args) Description() string {
|
func (a args) Description() string {
|
||||||
|
|
|
@ -171,7 +171,7 @@ func (admin *adminT) doAdminGui() {
|
||||||
for c := range me.clusters.IterAll() {
|
for c := range me.clusters.IterAll() {
|
||||||
a := new(adminT)
|
a := new(adminT)
|
||||||
me.cmap[c] = a
|
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)
|
a.makeClusterGroup(c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -184,7 +184,7 @@ func (admin *adminT) doAdminGui() {
|
||||||
|
|
||||||
func (admin *adminT) makeClusterGroup(c *virtpb.Cluster) {
|
func (admin *adminT) makeClusterGroup(c *virtpb.Cluster) {
|
||||||
var err error
|
var err error
|
||||||
admin.url, err = url.Parse(c.URL)
|
admin.url, err = url.Parse(c.URL[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
badExit(err)
|
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
|
// An app to submit patches for the 30 GO GUI repos
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"time"
|
"time"
|
||||||
|
@ -15,52 +14,6 @@ import (
|
||||||
"go.wit.com/log"
|
"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() {
|
func doList() {
|
||||||
msg := []byte(`{"message": "Hello"}`)
|
msg := []byte(`{"message": "Hello"}`)
|
||||||
|
|
||||||
|
@ -77,26 +30,39 @@ func doList() {
|
||||||
var err error
|
var err error
|
||||||
admin := new(adminT)
|
admin := new(adminT)
|
||||||
me.cmap[c] = admin
|
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)
|
// a.makeClusterGroup(c)
|
||||||
admin.url, err = url.Parse(c.URL)
|
admin.url, err = url.Parse(c.URL[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
badExit(err)
|
badExit(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// update the droplet list
|
// update the droplet list
|
||||||
if data, err := postData(admin.url.String()+"/DropletsPB", msg); err != nil {
|
if data, err := postData(admin.url.String()+"/DropletsPB", msg); err != nil {
|
||||||
log.Info("/DropletsPB Error:", err)
|
log.Info("/DropletsPB Error:", err)
|
||||||
|
continue
|
||||||
} else {
|
} else {
|
||||||
fmt.Println("DropletsPB Response len:", len(data))
|
|
||||||
admin.droplets = new(virtpb.Droplets)
|
admin.droplets = new(virtpb.Droplets)
|
||||||
if err := admin.droplets.Unmarshal(data); err != nil {
|
if err := admin.droplets.Unmarshal(data); err != nil {
|
||||||
fmt.Println("droplets marshal failed", err)
|
log.Printf("DropletsPB Response len:%d\n", len(data))
|
||||||
return
|
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
|
|
||||||
}
|
}
|
||||||
|
|
2
main.go
2
main.go
|
@ -87,7 +87,7 @@ func main() {
|
||||||
clusters := virtpb.NewClusters()
|
clusters := virtpb.NewClusters()
|
||||||
c := new(virtpb.Cluster)
|
c := new(virtpb.Cluster)
|
||||||
c.Uuid = uuid.New().String()
|
c.Uuid = uuid.New().String()
|
||||||
c.URL = argv.Server
|
c.URL = append(c.URL, argv.Server)
|
||||||
clusters.Append(c)
|
clusters.Append(c)
|
||||||
virtpb.ConfigWriteTEXT(clusters, "cluster.text")
|
virtpb.ConfigWriteTEXT(clusters, "cluster.text")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue