Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Anotações de metadados YANG para dispositivos Junos

RESUMO Os dispositivos Junos oferecem suporte a extensões YANG que definem anotações de metadados, que você pode usar para realizar operações específicas na configuração do Junos.

Os dispositivos Junos oferecem suporte a extensões YANG para anotar instâncias de nós de dados YANG com metadados. Você pode usar as seguintes extensões em dispositivos com suporte:

  • junos-configuration-metadata— As anotações da Juniper que você pode usar para realizar operações de configuração específicas.

  • openconfig-metadata— Anotações definidas pelo grupo de trabalho OpenConfig.

As anotações de metadados YANG e sua codificação JSON e XML correspondentes são definidas em RFC 7952, definindo e usando metadados com YANG. O ietf-yang-metadata módulo define a extensão annotationYANG.

Nota:

As anotações de metadados YANG não devem ser confundidas com as anotações de configuração do Junos, que são comentários que estão incluídos na configuração, por exemplo, usando o comando de annotate modo de configuração.

Visão geral do módulo junos-configuração-metadados

O módulo da Juniper Networks junos-configuration-metadata define anotações de metadados que permitem que você realize operações específicas na configuração do Junos.

Os dispositivos que oferecem suporte às junos-configuration-metadata anotações anunciam os seguintes recursos na troca de recursos do NETCONF:

A Tabela 1 descreve as junos-configuration-metadata anotações. As anotações usam o http://yang.juniper.net/junos/jcmd namespace URI e o jcmd prefixo namespace.

da
Tabela 1: anotações de data centers-configuração-metdata do Junos
Descrição do valoranotação
active false

Desativar a declaração de configuração especificada. A declaração permanece na configuração, mas não afeta a operação do dispositivo.

true

Ative a declaração de configuração especificada. Use essa anotação para ativar uma declaração que foi desativada anteriormente.

comment string

Adicione um comentário com informações adicionais sobre a declaração de configuração especificada ou remova um comentário existente configurando o valor em uma string vazia ("").

protect false

Remova qualquer estado anteriormente aplicado protect da declaração de configuração especificada e permita alterações nessa declaração.

true

Evite modificações futuras na declaração especificada, até que o protect estado seja removido.

Usando junos-configuration-metadata anotações em dados de configuração

Você pode usar as junos-configuration-metadata anotações em uma sessão NETCONF compatível com YANG para realizar operações de metadados específicas na configuração. As operações com suporte incluem adicionar comentários à configuração, desativar ou ativar hierarquias e declarações de configuração e proteger hierarquias e declarações de configuração, conforme descrito nas seguintes seções:

Você pode aplicar junos-configuration-metadata anotações em um contêiner (hierarquia de declarações), lista leaf, declaração leaf ou um item de lista (declaração com um identificador). Quando você aplica as anotações em declarações da lista leaf, você só pode aplicá-las no nível da lista leaf, não em entradas individuais da lista leaf.

Você pode usar as anotações YANG em dados de configuração JSON ou XML, conforme descrito na Tabela 2. Você pode usar a operação NETCONF <edit-config> para carregar dados de configuração XML, e pode usar a operação de protocolo <load-configuration> Junos XML para carregar dados de configuração JSON ou XML em um dispositivo.

de
Tabela 2: Usando anotações de metadados de configuração
Exemplosintaxe de codificação

JSON (objeto de metadados)

"module-name:annotation" : "value"

"junos-configuration-metadata:comment" : "comment string"

XML (atributos XML)

xmlns:prefix=namespace-uri

prefix:annotation="value"

<element-name xmlns:jcmd="http://yang.juniper.net/junos/jcmd" jcmd:comment="comment string">

Adicione comentários na configuração

Você pode usar a comment anotação para adicionar comentários a uma declaração de configuração. As seções a seguir descrevem como adicionar um comentário ao carregar dados de configuração JSON ou XML.

JSON

Para adicionar um comentário ao carregar dados de configuração do JSON, inclua a junos-configuration-metadata:comment anotação no objeto de metadados para essa declaração e especifique o comentário como uma string. Para remover um comentário, inclua uma corda vazia ("").

O exemplo a seguir associa um comentário a uma hierarquia, outro comentário com uma entrada de lista que requer um identificador e um terceiro comentário com uma declaração leaf existente.

XML

Para adicionar um comentário ao carregar dados de configuração do XML, inclua a jcmd:comment anotação como atributo XML na tag de abertura desse elemento de configuração e especifique o comentário como uma string. Para remover um comentário, inclua uma corda vazia ("").

O exemplo a seguir associa um comentário a uma hierarquia, outro comentário com uma entrada de lista que requer um identificador e um terceiro comentário com uma declaração leaf.

Ativar ou desativar declarações de configuração

Você pode usar a active anotação para desativar uma declaração de configuração ou ativar uma declaração de configuração que foi desativada anteriormente. Para desativar uma declaração, definir active para false. Para ativar uma declaração, definir active para true.

As seções a seguir descrevem como desativar e ativar declarações de configuração em dados de configuração JSON e XML.

JSON

Para desativar ou reativar um objeto de configuração no JSON, inclua a "junos-configuration-metadata:active" : (false | true) anotação no objeto de metadados para essa declaração.

Por exemplo, o RPC a seguir desativa a [edit protocols isis] hierarquia, ativa a declaração da apply-groups lista leaf e modifica a política de eventos especificada para desativar a ação de script de eventos e reativar a ação raise-trap.

XML

Para desativar ou reativar um objeto de configuração, inclua a jcmd:active="false" ou jcmd:active="true" a anotação, respectivamente, como um atributo XML na tag de abertura desse elemento de configuração.

O RPC a seguir desativa a [edit protocols isis] hierarquia, ativa a declaração da apply-groups lista leaf e modifica a política de eventos especificada para desativar a ação de script de eventos e reativar a ação raise-trap.

Proteger ou desprotegir declarações de configuração

Você pode proteger as hierarquias e declarações de configuração do Junos selecionados para evitar alterações nessas declarações até que o atributo de proteção seja removido.

As seções a seguir descrevem como proteger ou desprotegir declarações de configuração em dados de configuração JSON e XML.

JSON

Para proteger ou desprotegir um objeto de configuração no JSON, inclua a "junos-configuration-metadata:protect" : (true | false) anotação no objeto de metadados para essa declaração.

Por exemplo, o RPC a seguir protege o nível de [edit protocols isis] hierarquia, a declaração da apply-groups lista leaf e a declaração leaf host-name , e ele remove o atributo de proteção para a política de eventos especificada.

XML

Para proteger ou desprotegir um objeto de configuração, inclua a jcmd:protect="true" ou jcmd:protect="false" a anotação, respectivamente, como um atributo XML na tag de abertura desse elemento de configuração.

O RPC a seguir protege o nível de [edit protocols isis] hierarquia, a declaração da apply-groups lista leaf e a declaração leaf host-name , e ele remove o atributo de proteção para a política de eventos especificada.

openconfig-metadata Visão geral do módulo

O openconfig-metadata módulo YANG inclui anotações de metadados definidas pelo grupo de trabalho OpenConfig. O módulo define a protobuf-metadata anotação, que permite armazenar metadados sobre a configuração diretamente dentro da configuração para facilitar a referência.

Os dispositivos Junos oferecem suporte à openconfig-metadata:protobuf-metadata anotação com as seguintes restrições:

  • Você pode configurar apenas uma protobuf-metadata anotação e apenas no nível raiz da hierarquia de configuração.

  • Você só pode configurar e visualizar a anotação em dados de configuração do JSON.

  • A anotação é do tipo binário, mas você deve codificar o valor binário no esquema de codificação base64 antes de carregar a anotação no dispositivo.

Os dispositivos Junos suportam a configuração da openconfig-metadata:protobuf-metadata anotação por padrão. No entanto, para permitir que o dispositivo emita o recurso na troca de recursos netconf e emite a anotação nos dados de configuração, você deve configurar o dispositivo da seguinte forma:

  1. Exija que o servidor NETCONF anuncie módulos YANG padrão, como módulos OpenConfig, na troca de recursos.

  2. Configure o dispositivo para aplicar sessões NETCONF compatíveis com YANG.

  3. (Opcional) Desaprova o esquema OpenConfig, se você pretende visualizar as declarações do OpenConfig, incluindo a anotação, na CLI.

  4. Confirmar a configuração.

Depois de configurar o dispositivo para anunciar módulos YANG padrão na troca de recursos netconf, dispositivos que oferecem suporte openconfig-metadata a anotações anunciam o seguinte recurso na hello mensagem:

Você usa a operação gNMI set() para carregar a openconfig-metadata:protobuf-metadata anotação como parte de seus dados de configuração JSON.

Quando você solicita dados de configuração do JSON, conforme descrito em Visualizar anotações de metadados em dados de configuração, a saída exibe a configuração OpenConfig, incluindo a anotação, após os dados de configuração do Junos. Por exemplo:

Veja anotações de metadados em dados de configuração

O dispositivo Junos emite anotações de metadados YANG na configuração do Junos em sessões NETCONF compatíveis com YANG. Quando você configura sessões netconf para ser compatível com YANG e recupera a configuração usando o <get-config/> ou <get-configuration/> RPC, o dispositivo codifica as anotações conforme o RFC 7952, definindo e usando metadados com YANG.

Para ver a configuração com as anotações YANG codificadas de acordo com RFC 7952:

  1. Configure o dispositivo para aplicar sessões NETCONF compatíveis com YANG.
  2. Recuperar a configuração usando o <get-config> RPC.<get-configuration>
    • Use a operação NETCONF <get-config> para recuperar dados de configuração do XML.

    • Use a operação de protocolo <get-configuration> Junos XML para recuperar dados de configuração JSON ou XML.

    Nota:

    Os dispositivos Junos só suportam a openconfig-metadata:protobuf-metadata anotação para codificação JSON. Assim, você só pode usar a operação gNMI get() ou o RPC de protocolo <get-configuration format="json"> Junos XML para visualizar a anotação nos dados de configuração do JSON.