Gestoppte VM zeigt weiter Update-Banner — Node-Aggregation gated nicht auf VM-Status #30
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
Eine VM ist auf dem Node nicht mehr aktiv (gestoppt/disabled), das System zeigt aber weiterhin ein „Updates verfügbar"-Banner für diese VM an.
Root Cause
server/routers/admin_router.py:184-185aggregiert die Node-Update-Zähler:Gezählt wird über
vm_scansnur nachagent_available+ gecachtemupdates.available > 0— der aktuelle VM-Status wird nicht geprüft. Eine gestoppte VM scannt nicht mehr, behält aber ihren letzten Scan (agent_available: true,updates.available: N) → zählt weiter.Das Banner kommt aus
frontend/src/routes/(app)/+layout.svelteloadAlerts(Z. 38-41), dasn.updates_security/n.updates_pendingrendert. Der Fehler liegt also in der Backend-Aggregation, nicht im Banner selbst.Fix
In
admin_router.pydirekt vor Z. 184 die Menge der laufenden VMs/CTs bilden und die Zähler darauf gaten (der VM-Status liegt ind["vms"]/d["cts"]alsstatus):(Display-time-Gating, kein Datenverlust — startet die VM wieder, zählt sie sofort wieder mit.)
Gleicher Wurzelgrund, optional mit anpassen
Das per-VM-Update-Feld im Detail-Endpoint (
admin_router.py:971,"updates": s.get("updates", {}).get("available", 0)) zeigt für gestoppte VMs ebenfalls den veralteten Cache. Für Konsistenz dort den Wert auf0/Nonesetzen bzw. einstale: truemitgeben, wenn die VM nicht läuft — damit auch in Listen/Tabs kein veralteter Stand erscheint. (Kann separat, aber gleiche Ursache.)Akzeptanz
Branch
fix/updates-banner-stopped-vmDisabeld VM's always Show Updates Cache errorto Gestoppte VM zeigt weiter Update-Banner — Node-Aggregation gated nicht auf VM-Status