summaryrefslogtreecommitdiff
path: root/machine.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-03-23 20:10:49 -0500
committerJeff Carr <[email protected]>2025-03-25 13:17:00 -0500
commitd29e55b0d5c0ec8f99b4235115c39000732592ca (patch)
tree5c6a6aec4954730a8cee81d1f2dc826234457bb6 /machine.go
parent64d44e227282ad57f45d9a8e8042c2b790f357ae (diff)
common update codev0.0.54
Diffstat (limited to 'machine.go')
-rw-r--r--machine.go38
1 files changed, 26 insertions, 12 deletions
diff --git a/machine.go b/machine.go
index 8fc6ba6..a5946b8 100644
--- a/machine.go
+++ b/machine.go
@@ -60,6 +60,7 @@ func handleMachine(r *http.Request, w http.ResponseWriter, hostname string, data
} else {
fmt.Fprintln(w, m.UpgradeCmd)
}
+ m.UpgradeCmd = ""
m.Upgrade = false
} else {
fmt.Fprintln(w, "good")
@@ -112,7 +113,9 @@ func updateMachine(u *zoopb.Machine) string {
}
m.Laststamp = timestamppb.New(time.Now())
- updatePackages(m, u.Packages)
+ if updatePackages(m, u.Packages) {
+ // trigger save pb
+ }
return "upgrade"
}
@@ -127,20 +130,31 @@ func updatePackages(m *zoopb.Machine, newp *zoopb.Packages) bool {
for loop.Scan() {
p := loop.Next()
if p.Name == "zood" {
- if pold := m.Packages.FindByName("zood"); pold == nil {
+ if updatePackageVersion(m, p) {
+ changed = true
+ }
+ }
+ if p.Name == "virtigod" {
+ if updatePackageVersion(m, p) {
changed = true
- log.Log(ZOOD, "updatePackages() new package", p.Name, "version", p.Version, "machine", m.Hostname)
- m.Packages.Append(p)
- } else {
- if p.Version == pold.Version {
- log.Log(ZOOD, "updatePackages() unchanged", p.Version, "machine", m.Hostname)
- } else {
- changed = true
- log.Log(NOW, "updatePackages() package", p.Name, "version changed", pold.Version, "to", p.Version, "machine", m.Hostname)
- pold.Version = p.Version
- }
}
}
}
return changed
}
+
+func updatePackageVersion(m *zoopb.Machine, pnew *zoopb.Package) bool {
+ pold := m.Packages.FindByName(pnew.Name)
+ if pold == nil {
+ log.Log(NOW, "updatePackages() new package", pnew.Name, "version", pnew.Version, "machine", m.Hostname)
+ m.Packages.Append(pnew)
+ return true
+ }
+ if pold.Version == pnew.Version {
+ log.Log(ZOOD, "updatePackages() unchanged", pold.Version, "machine", m.Hostname)
+ return false
+ }
+ log.Log(NOW, "updatePackages() package", pnew.Name, "version changed", pold.Version, "to", pnew.Version, "machine", m.Hostname)
+ pold.Version = pnew.Version
+ return true
+}