Resumo
draft-ietf-netmod-yang-packages-09resolve recursivamente packages, módulos implementados e import-only, features, deviations, exclusões e mounts para construir um resolved package schema.- Validação, ausência de ciclos,
complete: true, locations acessíveis e uma declaração de conformidade são recibos de composição. Não são recibos de autenticidade, carregamento, acordo cliente-servidor, compatibilidade de dados ou resultado de produção.
O cenário mais enganoso começa sem erro. O nome e a versão são únicos. O JSON valida. Não existe ciclo de include. Todas as locations respondem. O resolver fecha os imports e entrega um conjunto coerente. Só depois aparece a diferença: o controlador usou um cache antigo e o servidor publicou outra definição sob a mesma identidade.
A revisão 09, de 6 de julho de 2026, é um Internet-Draft ativo do grupo NETMOD, destinado ao Standards Track e com expiração em 7 de janeiro de 2027. Continua sendo trabalho em andamento. Sua contribuição é transformar uma coleção informal em uma estrutura hierárquica e versionada que pode ser resolvida e comparada.
A ordem de composição tem poder
includes adiciona packages, implemented modules, import-only modules e features obrigatórias. excludes remove elementos herdados. depends-on aponta contexto para um pacote incompleto, mas não incorpora esse contexto ao schema resolvido do próprio pacote. mount descreve conjuntos em pontos montados e decide se a herança permanece.
Primeiro, cada package incluído é resolvido com o mesmo procedimento. Depois, os resultados são unidos às decisões locais. Módulos implementados entram em união, passam pela resolução de conflito, podem ser sobrescritos localmente e enfim filtrados. Import-only pode manter múltiplas versões. Features são somadas e depois adicionadas ou removidas; excluir o módulo retira suas features.
Nos mounts, inherit-packages=false descarta o conjunto herdado e deixa a entrada local definir o subesquema. Nas location lists, a primeira ocorrência mantém sua posição e novos endereços são anexados na ordem dos includes. A ordem é reproduzível; a resposta do URI não é autenticada por ela.
Um vencedor determinístico ainda pode ser errado para o cliente
Quando versões implementadas conflitam, dois rótulos YANG Semver são comparados apenas pelos números major, minor e patch; modificadores de compatibilidade, prerelease e build metadata não participam. Um rótulo Semver vence outro formato; sem Semver, vale a revision-date mais recente. Uma entrada local permite override explícito.
O algoritmo sabe ordenar candidatos, mas não conhece bindings gerados pelo cliente nem a intenção da autorização. O registro necessário contém todos os candidatos, a regra, o vencedor, os overrides, as exclusões e os avisos. “Resolvido” não basta.
A classificação de diferenças pertence ao mecanismo de schema comparison tratado separadamente. Ela não identifica os bytes efetivamente carregados e não exercita comportamento.
complete é fechamento referencial
Um pacote é referentially complete quando todos os imports de todos os módulos incluídos, direta ou indiretamente, encontram uma versão definida dentro do package. Um hotfix incompleto pode usar depends-on para indicar o contexto esperado.
Isso não garante que mirrors permaneçam iguais, que um conteúdo tenha autoria confirmada, que submodules tenham sido recuperados ou que instâncias continuem funcionando. Submodules são listados sobretudo para fornecer locations; a resolução decide pela versão do módulo e pode supor equivalência quando há empate. Os bytes concretos continuam necessários.
A unicidade de name/version é disciplina editorial, não content addressing. Se duas locations divergirem, a expectativa de equivalência não escolhe a fonte correta. Em cada obtenção, registre publicador, URI, hora, procedência do cache e digest.
Catálogo não é binding; binding não é load
A lista superior do servidor pode conter vários packages conhecidos que não estão implementados nem ativos. A extensão de YANG Library é que liga name/version e additional features ao schema de um datastore específico.
Quando presente, a resolução deve ser completa e coincidir exatamente com o module-set de YANG Library. É um teste forte de consistência declarada. Ainda assim, o servidor declara os dois lados. O cliente precisa comparar, datar e guardar o content-id, que é um marcador gerado pelo servidor, não um digest universal.
Arquivos .ypkg transportam a definição como YANG instance data em JSON. O cliente pode usar a cópia do servidor, uma location ou um cache com o mesmo name/version. Validar a estrutura não prova autoria, atualidade, resolução correta ou ativação. RFC 9195 também deixa claro que instance data não é protocolo alternativo para manipular configuração e estado vivos.
Conformidade descreve o schema, não o serviço
Quando um servidor varia em relação a um package padrão, pode anunciar um server implementation package que inclui e refina o original: escolhe outras versões, adiciona deviations, exclui módulos ou features. É uma forma honesta de expor a variação, mas não comprova que controladores a suportam.
Por isso, mantenha recibos distintos para identidade e autoridade; bytes e digest; validação; trilha recursiva; decisão de conflito; fechamento de imports e submodules; schema final; binding por datastore; processo que carregou; conjuntos de cliente e servidor; testes de configuração, estado, RPC, notifications e acesso; ordem de rollout e rollback; estado de execução; efeito externo.
Fontes primárias
Foram consultados a revisão 09 e os registros do Datatracker, RFC 7950, RFC 8525, RFC 9195, RFC 8528, RFC 8342, YANG Module Versioning revisão 17, YANG Semantic Versioning revisão 28 e a ata NETMOD da IETF 122: https://datatracker.ietf.org/doc/html/draft-ietf-netmod-yang-packages-09; https://datatracker.ietf.org/doc/draft-ietf-netmod-yang-packages/; https://datatracker.ietf.org/doc/draft-ietf-netmod-yang-packages/history/; https://www.rfc-editor.org/rfc/rfc7950.html; https://www.rfc-editor.org/rfc/rfc8525.html; https://www.rfc-editor.org/rfc/rfc9195.html; https://www.rfc-editor.org/rfc/rfc8528.html; https://www.rfc-editor.org/rfc/rfc8342.html; https://datatracker.ietf.org/doc/html/draft-ietf-netmod-yang-module-versioning-17; https://datatracker.ietf.org/doc/html/draft-ietf-netmod-yang-semver-28; https://datatracker.ietf.org/doc/minutes-122-netmod-202503190600/00/.
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance
