R-1125: the install page shows the check's own memory reading
gates / gates (push) Successful in 46s

The deploy page read /proc's host-wide figures (system.GetMemoryMB) while the install check reads the guest cap and
the installed apps' committed requests; on 9202 the page said 12,637 MB needed where the check counted 2,648. Both
now read stacks.InstallMemory. TestR1125_InstallMemoryIsTheChecksReading, red-proved.

Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-10-17 13:37:55 +02:00
parent 67a4b452e2
commit a4c0d546e5
3 changed files with 68 additions and 6 deletions
+4 -3
View File
@@ -688,9 +688,10 @@ func (s *Server) deployPageData(w http.ResponseWriter, r *http.Request, name str
// Memory info for deploy page (only for non-deployed apps)
if !alreadyDeployed {
memInfo := map[string]interface{}{"Available": false}
totalMB, usedMB, memErr := system.GetMemoryMB()
if memErr == nil {
reservedMB := s.cfg.System.ReservedMemoryMB
// R-1125: the SAME reading the install check judges (guest total, reserve, installed apps' requests) — never
// /proc's host-wide figures, which made this box and the check disagree.
totalMB, reservedMB, usedMB, memOK := s.stackMgr.InstallMemory()
if memOK {
usableMB := totalMB - reservedMB
newReqMB := stacks.ParseMemoryMB(meta.Resources.MemRequest)
afterMB := usedMB + newReqMB