summaryrefslogtreecommitdiff
path: root/machine.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-11-15 21:51:25 -0600
committerJeff Carr <[email protected]>2024-11-15 21:51:25 -0600
commitc65d006423792e2a2206bf0df8284b5120f2e022 (patch)
treec4501ddb6140e5300b1ab7b0ab2e0d2d52a8cc95 /machine.go
parent7dd5d6d2b165a91993fb532429189a481eebc366 (diff)
ready to packagev0.0.2
Diffstat (limited to 'machine.go')
-rw-r--r--machine.go54
1 files changed, 54 insertions, 0 deletions
diff --git a/machine.go b/machine.go
new file mode 100644
index 0000000..907b51d
--- /dev/null
+++ b/machine.go
@@ -0,0 +1,54 @@
+package main
+
+import (
+ "go.wit.com/lib/protobuf/zoopb"
+ "go.wit.com/log"
+)
+
+// someone sent machine 'u' is it new?
+// if not, update the record of it
+func updateMachine(u *zoopb.Machine) string {
+ if u == nil {
+ return "nil"
+ }
+ m := me.machines.FindByName(u.Hostname)
+ if m == nil {
+ log.Info("did not find", u.Hostname)
+ me.machines.Append(u)
+ return "new"
+ }
+ log.Info("updating machine", m.Hostname)
+
+ // did the # of cpus change?
+ if m.Cpus != u.Cpus {
+ m.Cpus = u.Cpus
+ log.Info("cpus changed to", m.Cpus)
+ }
+
+ // did the memory change?
+ if m.Memory != u.Memory {
+ m.Memory = u.Memory
+ log.Info("memory changed to", m.Memory)
+ }
+
+ // init these if nil
+ if m.Packages == nil {
+ m.Packages = new(zoopb.Packages)
+ }
+ if u.Packages == nil {
+ u.Packages = new(zoopb.Packages)
+ }
+
+ updatePackages(m.Packages, u.Packages)
+ return "upgrade"
+}
+
+// looks to see if any packages:
+// changed versions
+// were newly installed
+// were uninstalled
+func updatePackages(p *zoopb.Packages, u *zoopb.Packages) bool {
+ var changed bool = false
+
+ return changed
+}