Zusammenfassung

  • In draft-feng-netconf-naim-op-00 besteht compensation aus Operation-IR-Objekten, die ausgeführte Änderungen umkehren oder mindern sollen. Derselbe Entwurf behandelt Kompensationsfehler, Gruppen-Timeouts und Verbindungsverlust während des Rollbacks als reale Fälle.
  • Eine gemeinsame Transaktionskennung korreliert Vorgänge. Sie definiert keine atomare Ausführung, Isolation, Sperre, Reihenfolge, Dauerhaftigkeit oder einen geräteübergreifenden Wiederherstellungspunkt.
  • Eine belastbare Wiederherstellungsaussage benötigt Ausgangszustand, getrennte Autorisierung, Live-Vorbedingungen, exakte Nachrichten und Quittungen, konkurrierende Änderungen, Beobachtungen danach, einen unabhängigen Diensttest und eine Bilanz irreversibler Wirkungen.

Eine Gegenoperation trifft nicht mehr auf denselben Zustand

Zehn Edge-Schnittstellen sollen eine neue Routing-Policy erhalten. Der Agent liefert zugleich den Plan, bei fehlgeschlagener Erreichbarkeitsprüfung die alte Referenz wieder einzutragen. Drei Geräte nehmen die Änderung an, beim vierten bricht die Managementverbindung ab.

Nun ist der Ausgangszustand Geschichte. Ein anderer Controller könnte eine Schnittstelle aktualisiert haben. Ein Peer hat Routenänderungen verarbeitet, ein Alarm ein Fremdsystem ausgelöst, eine Rolle ihre Berechtigung verloren. Das alte Attribut zurückzuschreiben kann zwei Geräte reparieren, auf einem dritten eine legitime Paralleländerung zerstören und beim unerreichbaren Ziel ungewiss bleiben.

Die Definition des Entwurfs ist deshalb bewusst begrenzt: Eine Compensation Operation ist dazu bestimmt, die Wirkung einer früheren Operation umzukehren oder zu mindern. Bestimmung ist kein Ergebnis. Minderung ist keine vollständige Rekonstruktion. Das Objekt beschreibt einen nächsten Eingriff, nicht die Rückkehr der Zeit.

Was die Zwischendarstellung leistet

Operation IR soll zwischen natürlichsprachlicher Absicht und NETCONF, RESTCONF oder anderen Backends stehen. Es kann Schreib- und Lesevorgänge, RPC/actions, Filter, Datastore-Wahl, Vorbedingungen, Ausdrücke, Transaktionsmetadaten und Kompensation tragen. Die KI bleibt Absichtscodierer; ein deterministischer Handler validiert, prüft Live-Zustand, erzeugt Protokollnachrichten und führt sie aus.

Der Status des Dokuments ist Teil der Aussage. Datatracker führt Revision 00 vom 18. Juli 2026 als aktiven individuellen Internet-Draft ohne RFC-Stream und ohne formalen Intended RFC status. Die Seite erklärt, der I-D sei nicht vom IETF gebilligt und habe im Standardisierungsprozess keinen formalen Rang. Im eingereichten Kopf stehen „NETCONF Working Group“ und „Intended status: Standards Track“; das sind Angaben des Autors, keine Working-Group-Adoption und kein IETF-Konsens.

Der Entwurf standardisiert ausdrücklich weder Algorithmen zur automatischen Ableitung von Kompensation noch interne Ablaufplanung oder private Engine-Logik. Zwei Handler dürfen deshalb aus demselben Vorwärtswunsch unterschiedliche Gegenfolgen bilden. Ein Prüfpfad muss die tatsächlich erzeugten Objekte aufbewahren; „automatischer Rollback ausgelöst“ ist zu wenig.

Gruppierung ersetzt keine Transaktionssemantik

Abschnitt 12 erlaubt, mehrere Objekte durch eine gemeinsame Transaktionskennung zu verbinden. Damit lassen sich verteilte Logzeilen zuordnen. Nicht festgelegt sind Alles-oder-nichts-Commit, serialisierbare Isolation, globale Sperre, verbindliche Reihenfolge oder dauerhaftes Transaktionsjournal.

Ein heterogener Ablauf macht die Lücke sichtbar. Ein Gerät kann candidate und confirmed commit unterstützen, ein anderes direkt in running schreiben, ein dritter Schritt einen extern wirksamen RPC auslösen. Dieselbe Kennung ändert weder Fähigkeiten noch Fehlergrenzen.

Auch „in umgekehrter Reihenfolge“ ist keine allgemeine Lösung. Nach dem Erstellen und Verknüpfen einer Policy können andere Dienste sie rechtmäßig nutzen. Späteres Löschen würde neuen Schaden verursachen. Die syntaktische Inverse kann im inzwischen veränderten Zustand sachlich falsch sein.

Kompensation verlangt aktuelle Autorität

Laut Entwurf sollen Kompensationsoperationen denselben Erwartungen an Autorisierung, Validierung und Protokollierung unterliegen wie normale Operationen. Die Sicherheitsbetrachtung nennt Autorisierung der Kompensation und Audit von Ausführung und Rollback nochmals gesondert.

Die Erlaubnis für den Hinweg darf nicht vererbt werden. Erstellen und Löschen können andere Rechte benötigen. Eine Rolle kann abgelaufen sein, eine dynamische Referenz nun ein anderes Ziel auflösen. RFC 8341 schützt Operationen und Datenknoten in NETCONF/RESTCONF getrennt. „Wiederherstellung“ ist kein Ausnahmerecht.

Vorbedingungen helfen gegen veraltete Schreibvorgänge: Stimmt der erwartete Wert nicht mehr, darf die Operation nicht laufen. Eine erfolgreiche Prüfung beweist jedoch nur eine Beobachtung zu einem Zeitpunkt. Sie belegt weder Anwendung noch Dauer noch Dienstwirkung. Für jeden Ausgleichsschritt gehören Principal, aktuelle Regel, aufgelöstes Ziel, Messwert, Zugriffsentscheidung und Ergebnis in den Beleg.

Auch der Rettungsweg hat Fehlerzustände

Der Entwurf verlangt bei Transaktionsunterstützung definiertes Verhalten für gescheiterte Vorbedingungen, Fehler mitten in der Gruppe, fehlgeschlagene Kompensation, Zeitüberschreitung und Verbindungsverlust während des Rollbacks. Das ist die ehrliche Architektur: Erholung steht nicht außerhalb des Fehlermodells.

Nach einem Abbruch kann der Handler nicht wissen, ob die Nachricht nie ankam oder angewendet wurde und nur die Antwort verloren ging. Wiederholen kann einen nicht idempotenten Effekt duplizieren; Nichtwiederholen kann einen Teilzustand hinterlassen. Ein Wahrheitswert rolled_back reicht nicht. Nötig sind mindestens geplant, autorisiert, vorgeprüft, versandt, quittiert, unabhängig beobachtet und dienstseitig validiert.

NETCONF zeigt einen engeren Vertrag

RFC 6241 definiert rollback-on-error, wenn der Server die Fähigkeit anbietet. Innerhalb eines edit-config kann er bei einem Fehler stoppen und die spezifizierte Konfiguration auf ihren vollständigen Zustand zu Beginn dieses Vorgangs zurücksetzen.

Selbst dort warnt der RFC: In gemeinsam genutzter Konfiguration kann der Rollback ohne Sperre Änderungen anderer Sitzungen unbeabsichtigt verändern oder entfernen. rollback-failed ist ein eigener Fehler. Confirmed commit setzt eine andere Fähigkeit und candidate voraus.

Operation-IR-Kompensation kann auf diesen Mechanismus, einen RESTCONF-Gegenschreibvorgang oder eine Anwendungsaktion abgebildet werden. Die stärkste Garantie eines Backends gilt nicht automatisch für alle, nur weil das Protokollwort gleich klingt.

Gleiche Konfiguration bedeutet nicht gleiche Welt

RFC 8342 unterscheidet beabsichtigte Konfiguration und Betriebszustand. Selbst ein identischer Teilbaum beweist daher keinen identischen angewandten Zustand. Außerhalb des Datastores bleiben weitergeleitete Pakete, konsumierte Meldungen, offengelegte Zugangsdaten, abgelaufene Fristen, Kundenalarme und menschliche Entscheidungen bestehen.

Eine Kompensation kann erfolgreich sein und trotzdem nur mindern. Falsch wird es erst, wenn eine Oberfläche „Kompensation beendet“ in „keine Auswirkung“ übersetzt. Der Abschluss muss sagen, welcher Modellbereich zurückkehrte, was unbeobachtbar blieb und welche Außenwirkung fortbesteht.

Dry-run muss die Lücken anzeigen

Im dry-run darf der Handler keine Konfiguration anwenden und sollte Ziele, Werte, Datastore, Prüfungen, Protokollzusammenfassung, Kompensationsplan, Nebenwirkungen und Grenzen zeigen. Der Text räumt ein, dass Live-Abhängigkeiten, Autorisierung und äußere Bedingungen ohne Ausführung unvollständig bleiben können.

Eine gute Vorschau hebt daher snapshotgebundene Auflösungen, aufgeschobene Rechteprüfungen, nicht simulierbare Systeme und Wirkungen ohne Inverse hervor. Sie unterstützt eine Entscheidung; sie beurkundet keine Zukunft.

Der notwendige Belegpfad

Pro Gruppe sind aufzubewahren: unveränderliche Absicht und Kontextversion, kanonisches Handler-Modell, Zugriffsentscheidungen, zeitgestempelte Vorbedingungen, erzeugte Protokollnachrichten, Reihenfolge von Quittungen und Timeouts, exakte Kompensationsobjekte, deren eigene Prüfungen, Sperren und Paralleländerungen, Konfigurations- und Betriebsbeobachtungen danach, äußere Restwirkungen und ein vom Handler unabhängiger Diensttest.

Der Abschluss braucht drei getrennte Aussagen: Kompensation versucht, Modellzustand im erklärten Bereich wiederhergestellt, Dienst wiederhergestellt. Keine beweist automatisch die nächste. Die Kennung verbindet Belege; sie ist nicht selbst der Beleg.

Quellen