[BUG][Docgen] Agent-Daten fehlen in 78/78 VM-Dateien — falsches Dict + nicht existenter Key; Anreicherung nach services/guest_view.py extrahieren #212
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?
Befund
Im Ziel-Repo
chinux/Dokumentationzeigen 78 von 78 generierten VM-Dateien| Agent | — |. Die einzige Datei mit Inhalt ist die handgepflegte_BEISPIEL. Der theProx-VM-Agent ist damit in der gesamten erzeugten Doku unsichtbar — obwohl er der Kern des Datenmodells ist: ohne Agent gibt es keine Disk-Auslastung, kein Docker, keine Updates, keine HTTP-Services.Ursache
server/services/docgen.py,_vm_md()ab Zeile 244:Zwei Fehler gleichzeitig:
vm_qemu_scans. Die Agent-Version steht invm_scans.agent_versionexistiert inlast_datanirgends. Der Rohkey heisstversion.agent_versionentsteht erst beim Zusammenbauen der API-Antwort indeploy_router.py:351:Beide Fehler zusammen machen das Feld deterministisch leer.
Gleiches Muster bei weiteren Feldern
IP-Adresse (41 von 79 Dateien leer):
scan.get('ip_address')ist kein Rohfeld._qemu_identity()indeploy_router.py:103leitet es ab:Docgen greift auf den Fallback-Zweig zu und verpasst die eigentliche Ableitung aus
network[]. Fuer VM-Agent-VMs existiert zusaetzlich_vm_agent_ip(scan, node)— von Docgen gar nicht genutzt.Prioritaet invertiert.
deploy_router.py:343dokumentiert die verbindliche Regel:Docgen macht das Gegenteil:
scan.get('os_pretty') or gscan.get('os_pretty')— QEMU zuerst, Agent als Fallback. Die Doku kann damit andere Werte zeigen als das Dashboard fuer dieselbe VM.Bewertung
Das ist kein Dreizeiler-Fix. Docgen hat eine zweite Anreicherungsschicht neben der korrekten in
deploy_router.pyaufgebaut und diese falsch nachimplementiert. Solange beide existieren, driften sie weiter auseinander. Die Anreicherung gehoert genau einmal ins System — das zahlt direkt auf #95 (Service-Extraktion aus deploy/admin/security_router) ein.Prompt fuer Claude Code
Definition of Done
services/guest_view.pyexistiert,deploy_router.pyundupdate_router.pynutzen esdocgen.pygreift nicht mehr direkt aufvm_scans/vm_qemu_scanszuBeweis aus dem Bestand. Kreuzprobe ueber die 78 generierten VM-Dateien im Ziel-Repo:
## Belegter Speicherwird ausgscan["disk"]gerendert, also ausvm_scans— Daten, die ausschliesslich existieren, wenn der theProx-VM-Agent installiert ist und meldet. 49 Guests haben den Agent nachweislich, und alle 49 zeigen—. Damit ist die Diagnose (falsches Dict + nicht existenter Key) am echten Datenbestand bestaetigt, nicht nur am Code.Gegenprobe Node-Ebene: alle 7
node.mdsind vollstaendig gefuellt (PVE-Version, CPU, RAM, Kernel, Temp, Uptime, IP, Updates, Storage, Netzwerk). Der Fehler ist sauber auf die Guest-Ebene begrenzt, also genau dort, wo die beiden Scan-Dicts nebeneinander liegen.Erwartungswert nach dem Fix: 49 von 78 Guests mit gefuellter Agent-Zeile. Diese Zahl eignet sich direkt als Abnahmekriterium.
Folgeissue #213 deckt die Datenquellen ab, die
_vm_md()gar nicht rendert (Updates 0/78, HTTP-Services 0/78).