fix(proxmox): Task-Status unter Last weiter abfragen, nesting an
Im Feldtest wurde ein LXC fertig angelegt, während ProxDeploy nach drei gescheiterten Statusabfragen aufgab (Verbindungsaufbau > 10 s bei 76 % I/O-Last). Statusabfragen werden jetzt bis zum Task-Zeitlimit wiederholt, der Verbindungsaufbau darf 30 s dauern. nesting ist für Container standardmäßig an wie in der Proxmox-Oberfläche – Proxmox warnt sonst bei systemd 249/252. Refs #020 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -275,3 +275,31 @@ describe("Proxmox-Tasks (UPID)", () => {
|
||||
expect(fehler.hinweis).toContain("TASK ERROR");
|
||||
});
|
||||
});
|
||||
|
||||
describe("Task abwarten unter Last", () => {
|
||||
it("fragt nach vorübergehenden Fehlern der Statusabfrage weiter, bis der Task fertig ist", async () => {
|
||||
let n = 0;
|
||||
mock.route("GET", /\/nodes\/pve09\/tasks\/[^/]+\/status$/, () => {
|
||||
n += 1;
|
||||
if (n <= 4) return { status: 596, statusText: "Broken pipe" };
|
||||
return { data: { status: "stopped", exitstatus: "WARNINGS: 1" } };
|
||||
});
|
||||
await aufgabeAbwarten(client(), "UPID:pve09:00000001:00000002:00000003:vzcreate:114:root@pam:", {
|
||||
warten: async () => {},
|
||||
});
|
||||
expect(n).toBe(5);
|
||||
});
|
||||
|
||||
it("bricht bei fachlichen Fehlern sofort ab", async () => {
|
||||
mock.route("GET", /\/nodes\/pve08\/tasks\/[^/]+\/status$/, () => ({
|
||||
status: 403,
|
||||
statusText: "Permission check failed (/nodes/pve08, Sys.Audit)",
|
||||
}));
|
||||
const fehler = await fehlerVon(
|
||||
aufgabeAbwarten(client(), "UPID:pve08:00000001:00000002:00000003:vzcreate:114:root@pam:", {
|
||||
warten: async () => {},
|
||||
}),
|
||||
);
|
||||
expect(fehler.art).toBe("recht");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user