summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doGui.go4
-rw-r--r--http.go25
-rw-r--r--machine.go2
-rw-r--r--structs.go2
-rw-r--r--windowZood.go11
5 files changed, 19 insertions, 25 deletions
diff --git a/doGui.go b/doGui.go
index d61f7f5..876aafd 100644
--- a/doGui.go
+++ b/doGui.go
@@ -54,6 +54,10 @@ func doGui() {
makeZoodWin()
})
+ grid.NewButton("Cluster Events", func() {
+ log.Info("todo: start a list here!")
+ })
+
// sit here forever refreshing the GUI
for {
refresh()
diff --git a/http.go b/http.go
index 2b70d8e..baebf24 100644
--- a/http.go
+++ b/http.go
@@ -41,31 +41,6 @@ func okHandler(w http.ResponseWriter, r *http.Request) {
if route == "/machine" {
handleMachine(r, w, hostname, msg)
return
-
- /*
- var m *zoopb.Machine
- m = new(zoopb.Machine)
- if err := m.Unmarshal(msg); err != nil {
- log.Info("zoo host sent unknown machine protobuf len", len(msg))
- forgepb.IdentifyProtobuf(msg)
- log.Info("error =", err)
- return
- }
- log.Log(INFO, "proto.Unmarshal() worked on wire message len", len(msg), "from", m.Hostname)
- b := me.upgrade[m.Hostname]
- switch updateMachine(m) {
- case "upgrade":
- if b {
- fmt.Fprintln(w, "apt update")
- me.upgrade[m.Hostname] = false
- } else {
- fmt.Fprintln(w, "upgrade")
- }
- default:
- fmt.Fprintln(w, "notsure")
- }
- return
- */
}
if route == "/status" {
diff --git a/machine.go b/machine.go
index 7944e9b..8ddf63f 100644
--- a/machine.go
+++ b/machine.go
@@ -4,6 +4,7 @@
package main
import (
+ "fmt"
"net/http"
"strings"
"time"
@@ -53,6 +54,7 @@ func handleMachine(r *http.Request, w http.ResponseWriter, hostname string, data
log.Info("hostname ua changed len =", len(data), ra, hostname, ua)
m.UserAgent = ua
}
+ fmt.Fprintln(w, "upgrade")
// log.Info("update machine protobuf", hostname)
updateMachine(newm)
}
diff --git a/structs.go b/structs.go
index 154af32..c65bd52 100644
--- a/structs.go
+++ b/structs.go
@@ -4,6 +4,7 @@
package main
import (
+ "sync"
"time"
"go.wit.com/gui"
@@ -33,6 +34,7 @@ type zookeep struct {
}
type stdTableWin struct {
+ sync.Mutex
win *gadgets.GenericWindow // the machines gui window
box *gui.Node // the machines gui parent box widget
TB *zoopb.MachinesTable // the machines gui table buffer
diff --git a/windowZood.go b/windowZood.go
index 3aeca05..f62da2c 100644
--- a/windowZood.go
+++ b/windowZood.go
@@ -34,6 +34,8 @@ func makeZoodWin() {
}
func doMachinesUpgradeTable() {
+ me.zood.Lock()
+ defer me.zood.Unlock()
if me.zood.TB != nil {
me.zood.TB.Delete()
me.zood.TB = nil
@@ -45,6 +47,7 @@ func doMachinesUpgradeTable() {
log.Info("upgrade machine", m.Hostname, "memory", m.Memory/(1024*1024*1024))
log.Info("ADD THE CODE TO TRIGGER AN UPGRADE HERE")
log.Info("ADD THE CODE TO TRIGGER AN UPGRADE HERE")
+ m.Upgrade = true
}
me.zood.TB.Custom(f)
log.Info("table has uuid", me.zood.TB.GetUuid())
@@ -66,6 +69,14 @@ func AddMachinesPB(tbox *gui.Node, pb *zoopb.Machines) *zoopb.MachinesTable {
return findVersion(m, "zood")
})
+ // show if the machine needs to be upgraded
+ t.AddStringFunc("triggered?", func(m *zoopb.Machine) string {
+ if m.Upgrade {
+ return "yes"
+ }
+ return ""
+ })
+
t.AddTimeFunc("age", func(m *zoopb.Machine) time.Time {
return m.Laststamp.AsTime()
})