Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Creación de scripts de traducción para modelos de configuración de YANG

Puede cargar módulos YANG en dispositivos Junos para agregar modelos de datos que no son compatibles de forma nativa con el sistema operativo, pero que pueden ser compatibles con la traducción. Cuando extienda la jerarquía de configuración con modelos de datos YANG no innovadores, también debe proporcionar uno o varios scripts de traducción que proporcionen la lógica para asignar la sintaxis de configuración no automática a la sintaxis correspondiente de Junos OS.

Los scripts de traducción convierten los datos de configuración correspondientes a los modelos de datos yang no innovadores en sintaxis de Junos OS y agregan los datos de configuración traducidos como un cambio transitorio en la configuración de pago durante la operación de confirmación. Los scripts de traducción se pueden escribir en Python o SLAX y son similares a los scripts de confirmación en la estructura. Para obtener más información acerca de cómo crear scripts SLAX y Python que generan cambios transitorios en la configuración, consulte la Guía del usuario de automatización de scripts.

Utilice los request system yang add comandos o request system yang update para agregar módulos YANG y sus scripts de traducción asociados a un paquete YANG nuevo o existente en el dispositivo. Después de agregar los módulos y los scripts de traducción al dispositivo, puede configurar las instrucciones y jerarquías en el modelo de datos agregados por esos módulos. Cuando carga y confirma los datos de configuración, el dispositivo llama al script para realizar la traducción y generar el cambio transitorio de configuración.

En este tema, se describe la estructura general de los scripts de traducción. La lógica de traducción específica requerida en la secuencia de comandos real depende de las jerarquías personalizadas agregadas al esquema y está más allá del alcance de este tema.

Para crear el marco de trabajo para los scripts de traducción que se utilizan en dispositivos Junos:

  1. En su editor favorito, cree un archivo nuevo que use la extensión de archivo .slax o .py, según corresponda.
  2. Incluya la placa de caldera necesaria para el lenguaje de ese script, que es idéntico a la placa de caldera para scripts de confirmación, y también incluya las declaraciones de espacio de nombres necesarias para sus modelos de datos.
    • Código SLAX:

    • Código python:

    Nota:

    Los scripts de traducción deben calificar completamente los identificadores para los modelos de datos YANG no habilitantes en el código de traducción.

    Nota:

    Para obtener más información acerca del código de placa de caldera de script de confirmación, consulte Placa de caldera necesaria para scripts de confirmación y la Guía del usuario de automatización de scripts.

  3. Agregue código que asigne los datos de configuración no virtuales a la sintaxis equivalente de Junos OS y almacene los datos de configuración traducidos en una variable.
    • Código de ejemplo SLAX:

    • Código de ejemplo de Python:

  4. Agregue el contenido traducido a la configuración de pago a medida que cambia una configuración transitoria llamando a la jcs:emit-change() plantilla en scripts SLAX o a la jcs.emit_change() función en scripts de Python con la configuración traducida y transient-change la etiqueta como argumentos.
    • Código de ejemplo SLAX:

    • Código de ejemplo de Python:

    Nota:

    En los scripts SLAX, también puede generar el cambio transitorio emitiendo la configuración traducida dentro de un <transient-change> elemento en lugar de llamar a la jcs:emit-change() plantilla.

En el dispositivo, realice las siguientes tareas antes de agregar la secuencia de comandos de traducción a un paquete YANG:

  1. Si el script de traducción está escrito en Python, habilite el dispositivo para ejecutar scripts de Python sin firmar mediante la configuración de la language python instrucción or language python3 , según corresponda para la versión de Junos OS.

    Nota:

    A partir de Junos OS versión 20.2R1 y Junos OS Evolved versión 22.3R1, el dispositivo usa Python 3 para ejecutar scripts de acción y traducción yang. En versiones anteriores, Junos OS solo usa Python 2.7 para ejecutar estos scripts, y Junos OS Evolved usa Python 2.7 de forma predeterminada para ejecutar los scripts.

  2. Descargue la secuencia de comandos al dispositivo y, opcionalmente, valide la sintaxis.

Antes de que pueda usar scripts de traducción en un dispositivo, debe agregar los scripts y los módulos asociados a un paquete YANG nuevo o existente mediante la emisión del request system yang add comando o request system yang update . Después de agregar los módulos y scripts, los scripts de traducción se invocan automáticamente al confirmar datos de configuración en los modelos de datos correspondientes.

Cuando configure instrucciones que correspondan a modelos de datos YANG de terceros, por ejemplo, OpenConfig o modelos de datos yang personalizados, no se admiten las siguientes funciones:

  • Uso configure batch o configure private modo

  • Configuración de instrucciones en la [edit groups] jerarquía

Las configuraciones activa y candidata contienen los datos de configuración de los modelos de datos YANG no innovadores en la sintaxis definida por esos modelos. Sin embargo, dado que los datos de configuración traducidos se confirma como un cambio transitorio, las configuraciones activas y candidatas no muestran explícitamente los datos traducidos en la sintaxis de Junos OS cuando se emiten los show comandos o show configuration . Para aplicar scripts de traducción yang cuando vea la configuración, utilice el | display translation-scripts filtro.

Para ver la configuración completa posterior a la herencia con los datos traducidos (cambios transitorios) explícitamente incluidos, anexe el | display translation-scripts filtro al show configuration comando en modo operativo o al show comando en modo de configuración. Para ver solo los datos de configuración no automático después de la traducción, utilice el | display translation-scripts translated-config filtro.

En el modo de configuración, para mostrar solo los cambios en los datos de configuración correspondientes a modelos de datos YANG no amenazantes antes o después de aplicar los scripts de traducción, anexe la configured-delta palabra clave o translated-delta , respectivamente, al show | display translation-scripts comando. En ambos casos, la salida XML muestra los datos de configuración eliminados, seguidos de los nuevos datos de configuración.

Para obtener más información acerca del | display translation-scripts filtro, consulte Confirmar y mostrar datos de configuración para módulos YANG no automáticos.

Tabla de historial de versiones
Lanzamiento
Descripción
22.3R1
A partir de Junos OS Evolved versión 22.3R1, Junos OS Evolved usa Python 3 para ejecutar scripts de acción y traducción yang.
20.2R1
A partir de Junos OS versión 20.2R1, Junos OS usa Python 3 para ejecutar scripts de acción y traducción yang.