fix(agent): Cluster-Knoten mit QDevice richtig lesen (#042)
Der Agent nahm aus `pvecm nodes` blind die dritte Spalte als Knotennamen. Mit einem QDevice steht dort dessen Zustand (A,V,NMW oder NR), und der Name rutscht eine Spalte weiter - gemeldet wurden damit die Zustandskuerzel und das QDevice als zusaetzlicher vierter Knoten. Die Namensspalte wird jetzt aus der Kopfzeile bestimmt, die Zeile des QDevice (Nodeid 0) uebersprungen. Beide Ausgabeformen sind als Testfall hinterlegt. Agent-Version 0.2.2. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -241,6 +241,25 @@ productname: Proxmox "VE" \\ Subscription mit Tab`,
|
||||
expect(report.host.clusterMitglieder).toEqual(["hv-rz5-pve-01", "hv-rz5-pve-02", "hv-rz5-pve-03"]);
|
||||
});
|
||||
|
||||
it("liest die Knoten auch mit QDevice-Spalte richtig", () => {
|
||||
// Mit einem QDevice steht zwischen Votes und Name dessen Zustand. Vorher landeten
|
||||
// „A,V,NMW“ und „NR“ als Knotennamen im Report (#042).
|
||||
befehlErsetzen("pvesubscription", PVE_SUBSCRIPTION);
|
||||
befehlErsetzen(
|
||||
"pvecm",
|
||||
`Membership information
|
||||
----------------------
|
||||
Nodeid Votes Qdevice Name
|
||||
1 1 A,V,NMW hv-pve-01
|
||||
2 1 A,V,NMW hv-pve-02 (local)
|
||||
3 1 NR hv-pve-05
|
||||
0 1 Qdevice (votes 1)`,
|
||||
);
|
||||
|
||||
const report = reportErzeugen() as { host: { clusterMitglieder: string[] } };
|
||||
expect(report.host.clusterMitglieder).toEqual(["hv-pve-01", "hv-pve-02", "hv-pve-05"]);
|
||||
});
|
||||
|
||||
it("meldet eine leere Liste, wenn der Host in keinem Cluster ist", () => {
|
||||
befehlErsetzen("pvesubscription", PVE_SUBSCRIPTION);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user