Zum Inhalt

Rollback Chains

Stand: 2026-05-26

Ziel

Rollback Chains beschreiben den Rueckbau mehrstufiger Changes. Sie werden nicht automatisch gegen produktive Systeme ausgefuehrt.

Prinzip

Rollback erfolgt in umgekehrter Reihenfolge erfolgreicher Steps. Fehlgeschlagene oder nie ausgefuehrte Steps bekommen keinen Rollback-Step.

Beispiel fuer eine spaetere LXC-Stack-Chain:

Ausfuehrung Rollback
proxmox:create_lxc proxmox:remove_lxc nur nach separater Freigabe
proxmox:attach_vlan proxmox:detach_vlan
ssh:bootstrap ssh:remove_bootstrap_artifacts
netbox:create_vm_object netbox:remove_vm_object
mkdocs:create_doc_stub mkdocs:mark_removed

Sicherheitsregeln

  • Kein destruktiver Rollback ohne separate Approval-ID.
  • Rollback-Planung ist erlaubt, Rollback-Ausfuehrung bleibt scoped.
  • Delete-/Destroy-Actions bleiben forbidden, bis eine eigene eng begrenzte Cleanup-Action gebaut ist.
  • Rollback muss Backup-/Export-Referenzen aus der Vorwaerts-Chain referenzieren.

Aktueller Status

Aktiv ist Mock-/Dry-Run-Rollbackplanung und Rollback-Planung fuer die minimale Proxmox-Test-Chain:

  • mock_partial_rollback
  • Audit je Step
  • Chain-Summary mit partial_failure_state
  • resumable=true bei abgebrochener Chain
  • proxmox_test_chain_v1 erzeugt Rollback-Schritte fuer die erfolgreichen Steps in umgekehrter Reihenfolge
  • Rollback der LXC-Description braucht weiterhin eine separate Approval-ID

Der erfolgreiche Testlauf am 2026-05-26 erzeugte fuer LXC 121 den Status ready_requires_separate_approval. Es wurde kein automatischer Rollback ausgefuehrt.

Produktive Rollback Chains fuer NetBox, NPM, DNS, AD, Exchange, Intune oder Firewall sind nicht aktiv.

Geplanter Rollback fuer lanstyle-ce-test-01

Der Multi-System-Preflight fuer lanstyle-ce-test-01 erzeugt eine geplante Rollback-Reihenfolge. Nach der erfolgreichen Proxmox-Create-Chain vom 2026-05-26 ist Rollback weiterhin nur geplant und braucht eine separate Approval-ID.

Geplante Reihenfolge:

  1. remove_doc_stub
  2. remove_netbox_object
  3. remove_vlan_attachment
  4. stop_lxc
  5. remove_lxc

Wichtig:

  • remove_lxc ist weiterhin forbidden, bis eine eigene eng begrenzte Cleanup-Action gebaut und separat freigegeben ist.
  • Wenn der spaetere Live-Run fehlschlaegt, darf der Rollback nur fuer bereits erfolgreich abgeschlossene Steps geplant werden.
  • Jeder Rollback-Step braucht einen eigenen Backup-/Export-Bezug und eine eigene Verification.

Aktive Rollback-Referenzen aus dem Create-Test:

  • rollback_create_lxc: Pre-Create-Backup /var/lib/lanstyle-agent/controlled-execution/backups/proxmox/20260526-114721-run-lanstyle_ce_test_01_create-20260526-114721-step1-create_lxc.json
  • rollback_set_resources: Pre-Resource-Backup /var/lib/lanstyle-agent/controlled-execution/backups/proxmox/20260526-114725-run-lanstyle_ce_test_01_create-20260526-114725-step2-set_resources.json
  • rollback_attach_vlan: Pre-Network-Backup /var/lib/lanstyle-agent/controlled-execution/backups/proxmox/20260526-114725-run-lanstyle_ce_test_01_create-20260526-114725-step3-attach_vlan.json
  • rollback_set_lxc_description: Pre-Description-Backup /var/lib/lanstyle-agent/controlled-execution/backups/proxmox/20260526-114725-run-lanstyle_ce_test_01_create-20260526-114725-step4-set_lxc_description.json