summaryrefslogtreecommitdiff
path: root/poll.go
diff options
context:
space:
mode:
Diffstat (limited to 'poll.go')
-rw-r--r--poll.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/poll.go b/poll.go
index e0a8a28..f9c75ab 100644
--- a/poll.go
+++ b/poll.go
@@ -63,3 +63,31 @@ func findDroplet(name string) *DropletT {
}
return nil
}
+
+func clusterHealthy() bool {
+ var good = true
+ for _, d := range me.droplets {
+ if d.State != "ON" {
+ continue
+ }
+ dur := time.Since(d.lastpoll) // Calculate the elapsed time
+ if d.CurrentState != "ON" {
+ log.Info("BAD STATE ", d.Hostname, "State =", d.State, "CurrentState =", d.CurrentState, shell.FormatDuration(dur))
+ good = false
+ } else {
+ dur := time.Since(d.lastpoll) // Calculate the elapsed time
+ if dur > time.Minute {
+ log.Info("GOOD STATE MISSING", d.Hostname, d.hname, shell.FormatDuration(dur))
+ good = false
+ d.CurrentState = "MISSING"
+ }
+ log.Info("GOOD STATE ON", d.Hostname, d.hname, shell.FormatDuration(dur))
+ }
+ }
+ if good {
+ log.Info("GOOD=true")
+ } else {
+ log.Info("GOOD=false")
+ }
+ return good
+}