Resumo

  • YANG 2.0 não substitui YANG 1 nem 1.1. Um modelo completo pode misturar versões, embora as regras de include e import sejam deliberadamente assimétricas.
  • A exceção para import sem revision mantém o módulo antigo A ao lado de B atualizado para 2.0 e evita reescrever toda a cadeia. Ela não prova binding do cliente, schema efetivo comum, interoperabilidade ou adoção em produção.

O risco aparece numa cena aparentemente tranquila. B foi atualizado para YANG 2.0. A continua em YANG 1.1 e importa B sem fixar uma revision. O servidor sobe, A e B aparecem no inventário e o painel fica verde. Tudo isso pode estar correto. Ainda assim, nada garante que dois clientes baixaram os mesmos bytes, escolheram a mesma revisão de B ou montaram a mesma árvore de schema.

O draft revision 00, de 6 de julho de 2026, afirma que YANG 2.0 não torna RFC 6020 ou RFC 7950 obsoletos e que um modelo completo pode combinar módulos escritos em versões diferentes. O Datatracker do IETF o lista como Internet-Draft ativo do grupo NETMOD. O cabeçalho propõe Standards Track, mas o texto ainda não é RFC nem prova de implementação.

Uma assimetria para conter a migração

A seção 12 determina que um módulo 2.0 só pode incluir submódulos 2.0. Um módulo 1/1.1 não pode incluir submódulo 2.0 nem importar por revision um módulo 2.0. No sentido inverso, um módulo ou submódulo 2.0 pode importar por revision material em YANG 1 ou 1.1.

Não é uma promessa de compatibilidade simétrica. O lado novo pode apontar explicitamente para trás; o lado antigo não pode criar uma dependência avançada, presa a uma revisão do novo idioma.

O caso especial resolve a transição de A e B. Se A, ainda em 1/1.1, importava B sem revision e B passa a 2.0, o servidor pode implementar os dois. Deve anunciá-los segundo as regras de implementação e deveria anunciar A junto com a última revisão de B ainda especificada em YANG 1 ou 1.1. O motivo declarado é evitar que a evolução de B obrigue A e todos os seus dependentes a migrarem em cascata.

Essa contenção preserva decisões locais. Ela se aproxima da ideia de Lu Heng sobre especificação inicial mínima, decisão futura localizada e adoção voluntária. Mas descentralizar a adoção também descentraliza a obrigação de demonstrar o que foi validado e executado.

O inventário tem um alcance limitado

A seção 5.6.4 impede o servidor de implementar mais de uma revision do mesmo módulo, ao mesmo tempo que separa módulos implemented de módulos import-only. O RFC 8525 estrutura essa declaração com module sets, papéis de conformidade, features, deviations e identificadores de mudança.

O inventário comprova o que o servidor declarou naquele instante: presença de A, revisões de B listadas e papel de cada uma. Não comprova qual arquivo o cliente leu, como resolveu o import sem revision, qual parser usou ou se dois clientes produziram o mesmo schema efetivo.

Ferramentas vizinhas não eliminam a lacuna. Module versioning melhora identidade; Semver delimita versões aceitáveis; packages descrevem conjuntos; schema comparison classifica alterações; nomes de arquivo ajudam a localizar candidatos. Nenhum item substitui os registros de resolução, compilação, validação e execução.

A escada de evidências

Uma alegação de compatibilidade precisa preservar:

  1. bytes exatos, procedência, namespace, versão YANG, revision e hash de módulos e submódulos;
  2. fechamento completo de import/include e a decisão tomada em cada import sem revision;
  3. snapshot integral da YANG Library, papéis, features, deviations, identidade do module set e horário;
  4. parser/compilador, diagnósticos e fingerprint normalizado do schema efetivo;
  5. instâncias representativas e casos inválidos testados contra o schema congelado;
  6. traces de resolução de clientes independentes;
  7. testes de leitura, edição, RPC, action, notification, falha e rollback;
  8. observação de intended e operational datastores, separados pelo RFC 8342, além da recuperação real.

Essas provas se acumulam; não se substituem. Anúncio, artefato resolvido, validação e comportamento em serviço ocupam camadas de realidade relacionadas, mas distintas.

O mérito exato do draft é evitar conversões desnecessárias. Ele não oferece um atalho para demonstrar o contrato efetivo de cada cliente.

Fontes