fix(ablauf): angelegte ID merken, bevor auf Proxmox gewartet wird

Brach das Warten auf Klonen oder Anlegen ab, legte Proxmox den Gast trotzdem fertig an – und „Aufräumen“ wusste nichts von ihm (CT 114 im Feldtest).

Refs #020

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 16:02:57 +02:00
co-authored by Claude Opus 5.5
parent bc13b94c7e
commit ca9d6de446
4 changed files with 64 additions and 50 deletions
+15
View File
@@ -127,6 +127,21 @@ async function eingabe(
}
describe("LXC ausrollen", () => {
it("merkt sich die CTID schon nach dem Absenden – auch wenn die Anlage danach scheitert", async () => {
const { mock, client } = await aufbauen({ templateLokal: ["debian-13-standard_13.6-1_amd64.tar.zst"] });
mock.route("GET", /\/tasks\/[^/]+vzcreate[^/]*\/status$/, () => ({
data: { status: "stopped", exitstatus: "unable to create CT 130 - storage full" },
}));
const { e } = await eingabe(client);
const gemerkt: Array<Record<string, unknown>> = [];
const ergebnis = await phasenAusfuehren(
lxcAusrollSchritte({ ...e, angelegt: async (x) => void gemerkt.push(x) }),
stumm,
);
expect(ergebnis.ok).toBe(false);
expect(gemerkt).toContainEqual({ vmid: 130 });
});
it("mit Node-SSH: neuestes Template laden, anlegen mit nesting (docker), DHCP-IP, pct exec mit Skript auf stdin", async () => {
const { mock, client } = await aufbauen({ dhcpNachAbfragen: 2 });
const befehle: Array<{ befehl: string; eingabe?: string }> = [];