Resumen

  • draft-ietf-netmod-yang-module-versioning-17 permite historiales no lineales. La fecha identifica una revisión inmutable, pero no prueba ascendencia, orden semántico ni compatibilidad.
  • El marcador NBC, la fecha mínima recomendada y los indicadores de YANG Library son declaraciones acotadas. El esquema efectivo, la conducta del servidor, el cliente, la migración y el rollback exigen evidencias distintas.

Un importador encuentra una revisión de abril y otra de mayo. La dependencia recomienda abril como fecha mínima, de modo que mayo parece satisfacerla. Sin embargo, la versión de mayo nació de otra rama y nunca incorporó el grouping añadido en abril. La comparación de fechas pasa; el símbolo requerido no existe.

Esa escena explica el cambio central de Updated YANG Module Revision Handling, revisión 17. Publicado el 29 de junio de 2026, sigue siendo un Internet-Draft, no un RFC. El texto permite que dos revisiones de un módulo o submódulo deriven directamente del mismo padre. Las fechas continúan siendo únicas, pero dejan de implicar orden, descendencia o compatibilidad.

El historial describe un camino, no todo el árbol

Cada revisión conserva la ruta de la que procede, no todas las ramas que pudo tomar el módulo. Por eso ni la fecha ni una etiqueta de versión bastan para determinar si B desciende de A: hay que consultar el revision history de B.

Además, ese historial puede haberse reducido. El borrador autoriza retirar entradas antiguas si los marcadores NBC restantes siguen describiendo correctamente las relaciones visibles; la entrada más reciente no puede eliminarse. La norma evita fabricar una continuidad falsa, pero no demuestra que el registro completo siga disponible. La prueba operativa debe guardar bytes, repositorio o archivo de origen, ascendencia de commits y constancia de entradas retiradas.

Con submodules, el problema es más directo. El módulo debería fijar cada inclusión mediante una revision-date exacta. Si no lo hace, su identidad no determina el contenido completo que acabó compilándose.

NBC es una advertencia con autor

La revisión 17 desaconseja los cambios no compatibles, pero los admite cuando corregir un defecto, retirar un nodo o reestructurar un modelo inestable lo justifica. Si una revisión contiene un cambio contrario a las reglas BC respecto de la anterior en su historial, debe incluir rev:non-backwards-compatible. Si no lo incluye, los cambios deben ser BC.

La dirección normativa es clara; la exactitud factual no aparece por arte de magia. El autor clasifica el cambio y puede añadir el marcador de manera conservadora si una expansión formalmente compatible tiene un impacto serio para clientes. La ausencia de la marca depende de que la revisión y el historial sean correctos. Un recibo sólido vincula los bytes antes y después, enumera cambios, cita la regla y conserva la aprobación. El algoritmo de schema-comparison es materia de otro borrador y no se repite aquí.

La fecha mínima no identifica una rama

RFC 7950 permite exigir una revision-date exacta; sin ella, YANG no define qué revisión debe usarse. Para módulos débilmente acoplados, fijar cada fecha puede ser demasiado rígido. rev:recommended-min-date ofrece una recomendación legible por máquinas sobre la revisión más antigua que se espera que satisfaga el import.

La extensión puede producir un warning, pero no altera el import ni la conformidad. Y el propio borrador enseña su límite: una fecha posterior de otra rama puede no contener lo introducido por la fecha mínima. Es una ayuda para historiales cronológicos lineales, no una restricción de ascendencia.

El recibo del resolver debe identificar la revisión seleccionada, demostrar descendencia o presencia efectiva de las definiciones requeridas, resolver símbolos bajo las features y deviations reales y fijar el hash del esquema efectivo. Cumplir el umbral temporal solo abre esa comprobación.

Dos booleanos aclaran una promesa del servidor

ietf-yang-library-status amplía YANG Library con deprecated-nodes-implemented y obsolete-nodes-absent. El primero en true afirma que los nodos deprecated se implementan como current salvo una deviation explícita. El segundo en true afirma que no se implementa ningún nodo obsolete. False es el valor predeterminado y deja el comportamiento sin especificar.

Ambos en true reducen la ambigüedad para el cliente. Si el primero no lo está, el borrador prohíbe confiar solo en las marcas NBC. Pero siguen siendo declaraciones del mismo servidor. No ejecutan lecturas, escrituras, RPC ni notificaciones; tampoco demuestran que las deviations estén cargadas o que un reinicio conserve el mismo esquema. Hace falta probar nodos reales y contrastar el catálogo anunciado con el cargado por el proceso.

El cliente y los datos conservan su veto

Un servidor con una revisión NBC puede devolver un valor válido para su esquema y fuera de los límites compilados en un cliente antiguo. El borrador pide tratarlo defensivamente, vigilar historiales y entender cada cambio antes de migrar. Los clientes deberían dejar de usar nodos deprecated y deben abandonar los obsolete.

La prueba debe recorrer ambos sentidos: cliente viejo con servidor nuevo y cliente nuevo con servidor viejo. Debe cubrir codificaciones, defaults, RPC, notificaciones, errores y roles NACM, registrando binarios, módulos, features y deviations exactos.

Los datos persistentes forman otra frontera. RFC 9195 permite identificar el content-schema de un conjunto de instancias, pero validar la salida no demuestra que una conversión haya preservado su significado. Hay que contar nodos renombrados, eliminados, sintetizados y rechazados, comprobar invariantes y ensayar que el rollback pueda leer el estado escrito por la nueva versión.

RFC 8342 separa running, intended y operational porque configuración, intención aplicada y realidad observada pueden divergir. Un import correcto no prueba convergencia del dispositivo, interoperabilidad durante un despliegue gradual ni resultado de servicio.

La revisión 17 hace más honesta la evolución de YANG si cada declaración conserva su alcance. La fecha identifica; el historial cuenta una línea ancestral; NBC alerta; la fecha mínima recomienda; YANG Library informa. El cliente ejecutado, los datos migrados y la red observada completan la evidencia.

Fuentes principales

El conjunto oficial congelado incluye la revisión 17, su ficha e historial, RFC 7950, RFC 8525, RFC 9907, RFC 8342, RFC 8341, RFC 9195 y los requisitos de versionado, revisión 13.