CluPilotCloud/app/Provisioning
nexxo 1207182662 Ein angehefteter Host umging die Reservierung
Heftet ein Betreiber eine geparkte Bestellung an einen Host, prüfte der
Anheft-Zweig nur die Kapazität — nicht, ob die Maschine jemand anderem
reserviert ist. Die frisch gebaute Reservierung ließ sich damit über einen ganz
normalen Weg durch die Oberfläche aushebeln, denn das Auswahlfeld auf der
Kapazitätsseite bot weiterhin alle aktiven Hosts an.

Der Schritt stellt jetzt dieselbe Bedingung wie die freie Platzierung —
unreserviert oder dem Kunden dieser Bestellung reserviert — über
Host::scopeUnreserved(), statt sie ein zweites Mal zu formulieren. Ein Pin auf
eine fremde Maschine wird nicht umgeleitet, sondern wartet
(awaiting_pinned_host): zu korrigieren ist die Wahl, nicht die Maschine.

Und die Ursache eine Ebene höher: das Auswahlfeld stellt fremd reservierte
Hosts gar nicht mehr zur Wahl, pin() lehnt sie zusätzlich ab, und ein Pin, der
seit dem Anheften reserviert wurde, sagt das in der Zeile — ein Auswahlfeld,
das dann kommentarlos wieder "Automatisch" zeigte, verschwiege, warum die
Bestellung weiter wartet.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 18:53:11 +02:00
..
Contracts Serve the custom domain, not just announce it 2026-07-29 16:44:52 +02:00
Events feat(engine-b): live provisioning progress (admin console + customer dashboard) 2026-07-25 11:57:35 +02:00
Jobs Hostnamen vergibt CluPilot: ein Name statt zweier, und der Zaehler ueberlebt das Loeschen 2026-08-01 13:45:43 +02:00
Steps Ein angehefteter Host umging die Reservierung 2026-08-01 18:53:11 +02:00
PipelineRegistry.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
RunRunner.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
StepResult.php fix(engine): address Codex round 2 (poll budget, host error state, wg race) 2026-07-25 10:26:37 +02:00
WorkInFlight.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00