Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Anotaciones de metadatos YANG para dispositivos Junos

RESUMEN Los dispositivos Junos admiten extensiones YANG que definen anotaciones de metadatos.

Los dispositivos Junos admiten extensiones yang para anotar instancias de nodos de datos YANG con metadatos. Puede usar las siguientes extensiones en dispositivos compatibles:

  • junos-configuration-metadata— Anotaciones de Juniper que puede usar para realizar operaciones de configuración específicas.

  • openconfig-metadata—Anotaciones definidas por el grupo de trabajo OpenConfig.

Las anotaciones de metadatos YANG y su codificación JSON y XML correspondientes se definen en RFC 7952, Definiendo y usando metadatos con YANG. El ietf-yang-metadata módulo define la extensión annotationYANG.

Nota:

Las anotaciones de metadatos YANG no se deben confundir con las anotaciones de configuración de Junos, que son comentarios que se incluyen en la configuración, por ejemplo, mediante el comando del annotate modo de configuración.

Descripción general del módulo de junos-configuration-metadata

El módulo Juniper Networks junos-configuration-metadata define anotaciones de metadatos que le permiten realizar operaciones específicas en la configuración de Junos.

Los dispositivos que admiten las junos-configuration-metadata anotaciones anuncian las siguientes capacidades en el intercambio de capacidades de NETCONF:

En la tabla 1 se describen las junos-configuration-metadata anotaciones. Las anotaciones usan el URI del http://yang.juniper.net/junos/jcmd espacio de nombres y el prefijo del jcmd espacio de nombres.

Tabla 1: anotaciones de datos de junos-configuration-met
Descripción del valor de anotación
active false

Desactive la instrucción de configuración especificada. La instrucción permanece en la configuración, pero no afecta al funcionamiento del dispositivo.

true

Active la instrucción de configuración especificada. Utilice esta anotación para activar una instrucción que se desactivó anteriormente.

comment string

Agregue un comentario con información adicional sobre la instrucción de configuración especificada o elimine un comentario existente estableciendo el valor en una cadena vacía ("").

protect false

Quite cualquier estado aplicado protect anteriormente de la instrucción de configuración especificada y permita cambios en esa instrucción.

true

Evite futuras modificaciones en la instrucción especificada hasta que protect el estado se quite.

Uso de junos-configuration-metadata anotaciones en datos de configuración

Puede usar las junos-configuration-metadata anotaciones en una sesión NETCONF compatible con YANG para realizar operaciones de metadatos específicas en la configuración. Las operaciones compatibles incluyen agregar comentarios a la configuración, desactivar o activar jerarquías y instrucciones de configuración, y proteger las jerarquías y instrucciones de configuración, como se describe en las siguientes secciones:

Puede aplicar junos-configuration-metadata anotaciones en un contenedor (jerarquía de instrucción), una lista leaf, una instrucción leaf o un elemento de lista (instrucción con un identificador). Cuando aplica las anotaciones en instrucciones de lista de hojas, solo puede aplicarlas en el nivel de la lista de hojas, no en entradas de lista leaf individuales.

Puede usar las anotaciones yang en datos de configuración JSON o XML, como se describe en la tabla 2. Puede usar la operación NETCONF <edit-config> para cargar datos de configuración XML y la operación de protocolo <load-configuration> XML de Junos para cargar datos de configuración JSON o XML en un dispositivo.

Tabla 2: Uso de anotaciones de metadatos de configuración
Ejemplo de sintaxis de codificación

JSON (objeto de metadatos)

"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">

Agregar comentarios en la configuración

Puede usar la comment anotación para agregar comentarios a una instrucción de configuración. En las siguientes secciones, se describe cómo agregar un comentario al cargar datos de configuración JSON o XML.

JSON

Para agregar un comentario al cargar datos de configuración JSON, incluya la junos-configuration-metadata:comment anotación en el objeto de metadatos de esa instrucción y especifique el comentario como una cadena. Para eliminar un comentario, incluya una cadena vacía ("").

En el ejemplo siguiente se asocia un comentario con una jerarquía, otro comentario con una entrada de lista que requiere un identificador y un tercer comentario con una instrucción leaf existente.

XML

Para agregar un comentario al cargar datos de configuración XML, incluya la jcmd:comment anotación como un atributo XML en la etiqueta de apertura de ese elemento de configuración y especifique el comentario como una cadena. Para eliminar un comentario, incluya una cadena vacía ("").

En el ejemplo siguiente se asocia un comentario con una jerarquía, otro comentario con una entrada de lista que requiere un identificador y un tercer comentario con una instrucción leaf.

Activar o desactivar instrucciones de configuración

Puede usar la active anotación para desactivar una instrucción de configuración o para activar una instrucción de configuración que se desactivó anteriormente. Para desactivar una instrucción, establezca en active false. Para activar una instrucción, establezca en active true.

En las siguientes secciones, se describe cómo desactivar y activar instrucciones de configuración en datos de configuración JSON y XML.

JSON

Para desactivar o reactivar un objeto de configuración en JSON, incluya la "junos-configuration-metadata:active" : (false | true) anotación en el objeto de metadatos de esa instrucción.

Por ejemplo, la siguiente RPC desactiva la [edit protocols isis] jerarquía, activa la instrucción leaf-list y modifica la apply-groups política de eventos especificada para desactivar la acción event-script y reactivar la acción raise-trap.

XML

Para desactivar o reactivar un objeto de configuración, incluya el jcmd:active="false" o jcmd:active="true" anotación, respectivamente, como un atributo XML en la etiqueta de apertura de ese elemento de configuración.

La siguiente RPC desactiva la [edit protocols isis] jerarquía, activa la apply-groups instrucción leaf-list y modifica la política de eventos especificada para desactivar la acción de secuencia de comandos de eventos y reactivar la acción raise-trap.

Proteger o desproteger las instrucciones de configuración

Puede proteger las jerarquías y instrucciones de configuración seleccionadas de Junos para evitar cambios en esas instrucciones hasta que se elimine el atributo protect.

En las siguientes secciones, se describe cómo proteger o desproteger instrucciones de configuración en datos de configuración JSON y XML.

JSON

Para proteger o desproteger un objeto de configuración en JSON, incluya la "junos-configuration-metadata:protect" : (true | false) anotación en el objeto de metadatos de esa instrucción.

Por ejemplo, la siguiente RPC protege el [edit protocols isis] nivel de jerarquía, la apply-groups instrucción leaf-list y la host-name instrucción leaf, y quita el atributo protect para la política de eventos especificada.

XML

Para proteger o desproteger un objeto de configuración, incluya el jcmd:protect="true" o jcmd:protect="false" anotación, respectivamente, como un atributo XML en la etiqueta de apertura de ese elemento de configuración.

La siguiente RPC protege el [edit protocols isis] nivel de jerarquía, la apply-groups instrucción leaf-list y la host-name instrucción leaf, y quita el atributo protect de la política de eventos especificada.

openconfig-metadata Descripción general del módulo

El openconfig-metadata módulo YANG incluye anotaciones de metadatos definidas por el grupo de trabajo de OpenConfig. El módulo define la protobuf-metadata anotación, lo que le permite almacenar metadatos sobre la configuración directamente dentro de la configuración para facilitar la consulta.

Los dispositivos Junos admiten la openconfig-metadata:protobuf-metadata anotación con las siguientes restricciones:

  • Puede configurar solo una protobuf-metadata anotación y solo en el nivel raíz de la jerarquía de configuración.

  • Solo puede configurar y ver la anotación en los datos de configuración JSON.

  • La anotación es de tipo binario, pero debe codificar el valor binario en el esquema de codificación base64 antes de cargar la anotación en el dispositivo.

Los dispositivos Junos admiten la configuración de la openconfig-metadata:protobuf-metadata anotación de forma predeterminada. Sin embargo, para permitir que el dispositivo emita la capacidad en el intercambio de capacidades NETCONF y emita la anotación en los datos de configuración, debe configurar el dispositivo de la siguiente manera:

  1. Requerir que el servidor NETCONF anuncie módulos YANG estándar, como los módulos OpenConfig, en el intercambio de capacidades.

  2. Configure el dispositivo para que se apliquen las sesiones NETCONF que cumplen con YANG.

  3. (Opcional) Desenfunde el esquema OpenConfig si tiene la intención de ver instrucciones OpenConfig, incluida la anotación, en la CLI.

  4. Confirme la configuración.

Después de configurar el dispositivo para anunciar módulos yang estándar en el intercambio de capacidades netCONF, los dispositivos que admiten openconfig-metadata anotaciones anuncian la siguiente capacidad en el hello mensaje:

Utilice la operación gNMI set() para cargar la openconfig-metadata:protobuf-metadata anotación como parte de los datos de configuración JSON.

Cuando solicita datos de configuración JSON, como se describe en Ver anotaciones de metadatos en datos de configuración, el resultado muestra la configuración de OpenConfig, incluida la anotación, después de los datos de configuración de Junos. Por ejemplo:

Ver anotaciones de metadatos en datos de configuración

El dispositivo Junos emite anotaciones de metadatos YANG en la configuración de Junos dentro de sesiones NETCONF compatibles con YANG. Cuando configura sesiones NETCONF para que cumplan con YANG y recupera la configuración mediante <get-config/> o <get-configuration/> RPC, el dispositivo codifica las anotaciones según RFC 7952, Definición y uso de metadatos con YANG.

Para ver la configuración con las anotaciones yang codificadas según RFC 7952:

  1. Configure el dispositivo para que se apliquen las sesiones NETCONF que cumplen con YANG.
  2. Recupere la configuración mediante el <get-config> o <get-configuration> RPC.
    • Utilice la operación NETCONF <get-config> para recuperar datos de configuración XML.

    • Utilice la operación de protocolo <get-configuration> JUnos XML para recuperar datos de configuración JSON o XML.

    Nota:

    Los dispositivos Junos solo admiten la openconfig-metadata:protobuf-metadata anotación para la codificación JSON. Por lo tanto, solo puede usar la operación gNMI get() o el protocolo <get-configuration format="json"> XML de Junos RPC para ver la anotación en los datos de configuración JSON.