diff options
| author | Jeff Carr <[email protected]> | 2024-11-15 21:51:25 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-11-15 21:51:25 -0600 |
| commit | c65d006423792e2a2206bf0df8284b5120f2e022 (patch) | |
| tree | c4501ddb6140e5300b1ab7b0ab2e0d2d52a8cc95 /machine.go | |
| parent | 7dd5d6d2b165a91993fb532429189a481eebc366 (diff) | |
ready to packagev0.0.2
Diffstat (limited to 'machine.go')
| -rw-r--r-- | machine.go | 54 |
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 +} |
