sending a machine protobuf
This commit is contained in:
parent
0700306530
commit
706b0418bf
4
main.go
4
main.go
|
@ -52,6 +52,10 @@ func main() {
|
|||
// what OS?
|
||||
me.distro = initDistro()
|
||||
|
||||
// init my machine protobuf
|
||||
me.machine = new(zoopb.Machine)
|
||||
me.machine.Hostname = me.hostname
|
||||
|
||||
// init the installed package list
|
||||
me.packages = new(zoopb.Packages)
|
||||
initPackages()
|
||||
|
|
35
send.go
35
send.go
|
@ -15,7 +15,7 @@ func send() {
|
|||
|
||||
func pingStatus() error {
|
||||
var url string
|
||||
url = urlbase + "/status?hostname=stuff"
|
||||
url = urlbase + "/status?hostname=" + me.hostname
|
||||
msg, err := me.packages.Marshal()
|
||||
if err != nil {
|
||||
log.Info("proto.Marshal() failed:", err)
|
||||
|
@ -31,7 +31,40 @@ func pingStatus() error {
|
|||
test := strings.TrimSpace(string(body))
|
||||
// log.Info("virtigo returned body:", test)
|
||||
for _, line := range strings.Split(test, "\n") {
|
||||
switch line {
|
||||
case "upgrade":
|
||||
log.Info("should upgrade now")
|
||||
default:
|
||||
log.Info("GOT:", line)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func sendMachine() error {
|
||||
var url string
|
||||
url = urlbase + "/machine"
|
||||
msg, err := me.machine.Marshal()
|
||||
if err != nil {
|
||||
log.Info("proto.Marshal() failed:", err)
|
||||
return err
|
||||
}
|
||||
log.Info("proto Marshal len =", len(msg))
|
||||
body, err := httpPost(url, msg)
|
||||
if err != nil {
|
||||
log.Info("httpPost() failed:", err)
|
||||
return err
|
||||
}
|
||||
|
||||
test := strings.TrimSpace(string(body))
|
||||
// log.Info("virtigo returned body:", test)
|
||||
for _, line := range strings.Split(test, "\n") {
|
||||
switch line {
|
||||
case "upgrade":
|
||||
log.Info("machine upgrade now")
|
||||
default:
|
||||
log.Info("GOT:", line)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -15,5 +15,6 @@ type stuff struct {
|
|||
pollDelay time.Duration // how often to report our status
|
||||
dog *time.Ticker // the watchdog timer
|
||||
distro string // debian,redhat,gentoo,macos,wincrap
|
||||
machine *zoopb.Machine // my protobuf
|
||||
packages *zoopb.Packages // installed packages and versions
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ func NewWatchdog() {
|
|||
log.Info("Watchdog() ticked", me.zookeeper, "Current time: ", t)
|
||||
updatePackages()
|
||||
pingStatus()
|
||||
sendMachine()
|
||||
// h.pollHypervisor()
|
||||
// h.Scan()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue