Zusammenfassung

  • draft-ietf-netmod-yang-module-versioning-17 erlaubt ausdrücklich nichtlineare Modul- und Submodulhistorien. Ein Revisionsdatum identifiziert eine Definition, nicht ihre Abstammung, Reihenfolge oder Kompatibilität.
  • NBC-Markierung, empfohlenes Mindestdatum und YANG-Library-Statuswerte sind begrenzte Aussagen. Effektives Schema, Serververhalten, Client-Ausführung, Instanzmigration, Rollout und Rückweg müssen getrennt belegt werden.

Ein Resolver sieht eine April- und eine Mai-Revision. Der Import empfiehlt April als Mindestdatum; Mai scheint die Bedingung zu erfüllen. Tatsächlich stammt die Mai-Datei aus einem anderen Zweig und hat das im April eingeführte grouping nie geerbt. Der Datumsvergleich ist grün, die Abhängigkeit dennoch kaputt.

Genau hier setzt Revision 17 von Updated YANG Module Revision Handling an. Der am 29. Juni 2026 veröffentlichte Text ist weiterhin ein Internet-Draft, kein RFC. Er erlaubt zwei unabhängige Revisionen desselben Moduls oder Submoduls mit demselben Elternstand. Revisionsdaten bleiben eindeutig, implizieren aber weder Chronologie noch Abstammung oder Rückwärtskompatibilität.

Die Historie zeigt nur einen Weg durch den Graphen

Jede Revision listet ihre eigene Herkunftslinie, nicht alle möglichen Zweige. Ob B von A abstammt, lässt sich daher nicht aus Datum oder Versionsetikett ablesen. Die Revision History muss konsultiert werden.

Auch sie darf gekürzt sein. Ältere Einträge können entfernt werden, wenn die verbleibenden NBC-Markierungen die sichtbaren Beziehungen weiterhin korrekt ausdrücken; der jüngste Eintrag darf nicht verschwinden. Das verhindert eine falsche Kompatibilitätsgeschichte, garantiert aber keinen vollständigen Stammbaum. Ein belastbarer Nachweis umfasst deshalb die exakten Bytes, Quellarchiv oder Repository, Commit-Abstammung und entfernte Historieneinträge.

Submodule schaffen eine weitere Lücke. Ein Modul sollte ihre genaue revision-date angeben. Ohne diese Bindung lässt sich aus der Modulidentität nicht bestimmen, welcher Submodulinhalt kompiliert wurde.

NBC ist ein verantwortetes Warnsignal

Der Entwurf rät von nicht rückwärtskompatiblen Änderungen ab, lässt sie aber etwa für Fehlerkorrekturen, das Ausscheiden alter Knoten oder die Umstrukturierung instabiler Modelle zu. Verletzt eine Revision gegenüber dem vorangehenden Eintrag ihrer Historie die BC-Regeln, muss sie rev:non-backwards-compatible tragen. Fehlt die Markierung, müssen die Änderungen BC sein.

Das macht die Aussage prüfbar, ersetzt aber keine Prüfung. Autoren können die Markierung sogar vorsorglich setzen, wenn eine formal kompatible Erweiterung erhebliche Client-Auswirkungen haben könnte. Umgekehrt ist das Fehlen nur so zuverlässig wie Review und Historie. Deshalb müssen Alt- und Neubestand, Änderungsliste, angewandte Regel und Prüfer zusammen gebunden werden. Der detaillierte Schema-Vergleichsalgorithmus gehört zu einem anderen Entwurf.

Ein Mindestdatum ist kein Zweigfilter

RFC 7950 erlaubt ein exaktes revision-date; ohne Angabe ist nicht definiert, welche Revision importiert wird. Exakte Bindungen können für lose gekoppelte Module zu starr sein. rev:recommended-min-date liefert daher eine maschinenlesbare Empfehlung für die früheste voraussichtlich geeignete Revision.

Das Werkzeug darf warnen, doch die Erweiterung ändert weder Importsemantik noch Konformität. Der Entwurf zeigt selbst die Schwäche: Eine später datierte Revision auf einem anderen Zweig kann die benötigte Definition nicht enthalten. Das Mindestdatum ist für lineare Historien gedacht, nicht als Abstammungsbedingung.

Ein Resolver-Nachweis muss die gewählte Revision nennen, ihre Abstammung oder den tatsächlichen Bestand der benötigten Definitionen belegen, alle Symbole unter den realen Features und Deviations auflösen und das effektive Schema hashen. Die erfüllte Datumsbedingung startet diese Prüfung; sie beendet sie nicht.

Zwei Boolesche Werte präzisieren die Serveraussage

ietf-yang-library-status ergänzt YANG Library um deprecated-nodes-implemented und obsolete-nodes-absent. True bedeutet beim ersten Wert, dass deprecated Knoten wie current implementiert sind, sofern keine Deviation sie entfernt. Beim zweiten bedeutet true, dass kein obsolete Knoten implementiert ist. False ist jeweils Standard und lässt das Verhalten offen.

Beide Werte auf true verringern die Unklarheit des angekündigten Schemas. Ist der erste Wert nicht true, dürfen Clients nicht allein auf NBC-Markierungen vertrauen. Trotzdem sind dies Selbstauskünfte des Servers. Sie führen keine Lese-, Schreib-, RPC- oder Notification-Operation aus, beweisen keine geladenen Deviations und keine Stabilität nach einem Neustart. Reale Knotenproben müssen Katalog und Prozessverhalten vergleichen.

Client und Daten haben eigene Vetorechte

Ein Server mit NBC-Revision kann Werte liefern, die für sein Schema gültig, für einen alten Client aber außerhalb des programmierten Bereichs liegen. Der Entwurf empfiehlt defensive Verarbeitung, Beobachtung der Historie und Verständnis der konkreten Änderung vor einer Migration. Deprecated Knoten sollen zeitnah verlassen, obsolete Knoten müssen aufgegeben werden.

Zu testen sind beide Richtungen: alter Client gegen neuen Server und neuer Client gegen alten Server. Kodierungen, Defaults, RPCs, Notifications, Fehler und NACM-Rollen gehören dazu; Binärstände, Module, Features und Deviations müssen Teil des Ergebnisses sein.

Persistente Instanzdaten bilden eine weitere Grenze. RFC 9195 kann Daten an ein content-schema binden, doch erfolgreiche Zielvalidierung beweist keine Bedeutungstreue. Ein Migrationsbeleg zählt umbenannte, gelöschte, synthetisierte und verworfene Knoten, prüft semantische Invarianten und zeigt, dass ein Rollback den neu geschriebenen Zustand noch lesen kann.

RFC 8342 trennt running, intended und operational, weil Konfiguration, angewandte Absicht und beobachtete Realität auseinanderfallen können. Ein sauberer Import beweist weder Gerätekonvergenz noch Interoperabilität im gestaffelten Rollout oder einen Diensterfolg.

Revision 17 macht die YANG-Entwicklung ehrlicher, sofern jede Aussage ihren engen Auftrag behält: Das Datum identifiziert, die Historie beschreibt eine Linie, NBC warnt, das Mindestdatum empfiehlt und YANG Library berichtet. Der ausgeführte Client, die migrierten Daten und das beobachtete Netz liefern den Rest.

Primärquellen

Der eingefrorene offizielle Satz umfasst Revision 17, Datatracker-Eintrag und Historie, RFC 7950, RFC 8525, RFC 9907, RFC 8342, RFC 8341, RFC 9195 und die Versionierungsanforderungen, Revision 13.