summaryrefslogtreecommitdiff
path: root/poll.go
diff options
context:
space:
mode:
Diffstat (limited to 'poll.go')
-rw-r--r--poll.go36
1 files changed, 21 insertions, 15 deletions
diff --git a/poll.go b/poll.go
index 5e9fdb0..e0a8a28 100644
--- a/poll.go
+++ b/poll.go
@@ -10,7 +10,7 @@ import (
func (h HyperT) pollHypervisor() {
url := "http://" + h.Hostname + ":2520/vms"
- log.Log(INFO, "wget url =", url)
+ log.Log(POLL, "wget url =", url)
s := shell.Wget(url)
if s == nil {
return
@@ -30,30 +30,36 @@ func (h HyperT) pollHypervisor() {
name := fields[1]
if state == "ON" {
log.Log(POLL, h.Hostname, "STATE:", state, "HOST:", name, "rest:", fields[2:])
- var found = false
- for _, d := range me.droplets {
- if d.Hostname == name {
- log.Log(INFO, "ALREADY RECORDED", d.Hostname)
- found = true
- d.lastpoll = time.Now()
- // log.Info("ALREADY RECORDED", d.Hostname, d.lastpoll)
- if d.hname != h.Hostname {
- log.Log(EVENT, "DROPLET", d.Hostname, "MOVED FROM", d.hname, "TO", d.Hostname)
- }
-
+ d := findDroplet(name)
+ if d != nil {
+ log.Log(INFO, "ALREADY RECORDED", d.Hostname)
+ d.lastpoll = time.Now()
+ d.CurrentState = "ON"
+ // log.Info("ALREADY RECORDED", d.Hostname, d.lastpoll)
+ if d.hname != h.Hostname {
+ log.Log(EVENT, "DROPLET", d.Hostname, "MOVED FROM", d.hname, "TO", d.Hostname)
d.hname = h.Hostname
}
- }
- if found {
continue
}
- var d = new(DropletT)
+ // this is a new unknown droplet (not in the config file)
+ d = new(DropletT)
d.Hostname = name
d.hname = h.Hostname
d.lastpoll = time.Now()
+ d.CurrentState = "ON"
me.droplets = append(me.droplets, d)
log.Log(EVENT, name, "IS NEW. ADDED ON", h.Hostname)
}
}
// log.Info("i, s =", hostname, i, s)
}
+
+func findDroplet(name string) *DropletT {
+ for _, d := range me.droplets {
+ if d.Hostname == name {
+ return d
+ }
+ }
+ return nil
+}