Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Ejemplo: Generar cambios de configuración persistentes y transitorios mediante scripts de confirmación

Ejemplo: Generar un cambio persistente

Los scripts de confirmación de Junos OS permiten a los usuarios personalizar el proceso de validación de sus configuraciones de acuerdo con sus propias prácticas y políticas, y aplicar reglas de configuración personalizadas durante el proceso de confirmación. En este ejemplo, se muestra una secuencia de comandos de confirmación que genera un cambio persistente que agrega la family mpls instrucción en la configuración de interfaces SONET/SDH cuando la instrucción no está ya incluida en la configuración. Si no configura explícitamente la familia de protocolos MPLS en una interfaz, la interfaz no está habilitada para aplicaciones MPLS.

Requisitos

En este ejemplo, se utilizan los siguientes componentes de hardware y software:

  • Dispositivo que ejecuta Junos OS con una o más interfaces SONET/SDH.

  • Junos OS versión 16.1R3 o posterior cuando se utiliza una secuencia de comandos de Python.

Descripción general y script de confirmación

La secuencia de comandos de confirmación de este ejemplo encuentra todas las interfaces SONET/SDH que tienen una interfaz lógica configurada pero que no tienen la family mpls instrucción configurada. Para estas interfaces, el script agrega la family mpls instrucción a la configuración de interfaz como un cambio persistente en el [edit interfaces interface-name unit logical-unit-number] nivel de jerarquía. El script se muestra en SLAX, XSLT y Python.

Las versiones SLAX y XSLT de la secuencia de comandos de confirmación generan el cambio persistente mediante el uso de la jcs:emit-change plantilla, que es una plantilla auxiliar contenida en el archivo de importación junos.xsl . Se tag omite el parámetro de la jcs:emit-change plantilla, lo que dirige la secuencia de comandos a emitir el cambio como un cambio persistente. El content parámetro de la jcs:emit-change plantilla incluye las instrucciones de configuración que se agregarán como cambio persistente. El message parámetro de la jcs:emit-change plantilla incluye el mensaje de advertencia que se mostrará en la CLI, notificándolo de que la configuración ha cambiado.

La versión Python de la secuencia de comandos de confirmación genera el cambio persistente mediante el uso de la jcs.emit_change() función, que se importa desde el jcs módulo. La secuencia de comandos de Python indica que se trata de un cambio persistente al pasar en el argumento posicionacional 'change'.

Sintaxis XSLT

Sintaxis SLAX

Sintaxis de Python

Configuración

Procedimiento

Procedimiento paso a paso

Para descargar, habilitar y probar la secuencia de comandos.

  1. Copie el script en un archivo de texto, asigne un nombre al archivo mpls.xsl, mpls.slax o mpls.py según corresponda, y cópielo en el directorio /var/db/scripts/commit/ del dispositivo.

    Nota:

    Los scripts de Python sin firma deben ser propiedad de la raíz o de un usuario de la clase de inicio de sesión de Junos OS super-user , y solo el propietario del archivo puede tener permiso de escritura para el archivo.

  2. En el modo de configuración, configure la file instrucción y el nombre de archivo de secuencia de comandos en el [edit system scripts commit] nivel de jerarquía.

  3. Si el script está escrito en Python, habilite la ejecución de scripts de Python sin firmar.

    Nota:

    Configure la language python3 instrucción para usar Python 3 para ejecutar scripts de Python, o configure la language python instrucción para usar Python 2.7 para ejecutar scripts de Python. Para obtener más información, consulte idioma.

  4. Para probar que la secuencia de comandos de confirmación genera el cambio persistente correctamente, asegúrese de que la configuración contiene la condición que provoca el cambio. Para probar este script, asegúrese de que la family mpls instrucción no se incluye en el [edit interfaces so-fpc/pic/port unit logical-unit-number] nivel de jerarquía para al menos una interfaz SONET/SDH.

  5. Emita el commit check comando para previsualizar un seguimiento del procesamiento de script de confirmación para comprobar que la secuencia de comandos agregará el cambio persistente a la configuración del candidato. El commit check comando verifica la sintaxis de la configuración antes de una confirmación, pero no confirma los cambios.

    La secuencia de comandos de confirmación de este ejemplo genera un mensaje para cada cambio que hace. Utilice el commit check comando para previsualizar estos mensajes para determinar si el script actualizará la configuración con la family mpls instrucción para las interfaces adecuadas.

    Emita el commit check | display xml comando para mostrar la versión del mensaje con formato XML. El resultado de ejemplo indica que el script agregará la family mpls instrucción a la configuración de interfaz so-2/3/4.0 durante la operación de confirmación.

  6. Para mostrar un seguimiento detallado del procesamiento de scripts de confirmación, emita el commit check | display detail comando. En la salida de muestra, hay un cambio persistente que se cargará en la configuración durante la operación de confirmación.

  7. Después de comprobar que la secuencia de comandos produce los cambios correctos, emita el commit comando para iniciar la operación de confirmación y ejecutar el script.

Verificación

Verificar la configuración

Propósito

Compruebe que los cambios correctos están integrados en la configuración.

Acción

Después de ejecutar la operación de confirmación, vea la configuración mediante la emisión del comando del modo de show interfaces configuración. Si la familia de protocolos MPLS no está habilitada en una o más interfaces SONET/SDH antes de que se ejecute la secuencia de comandos, el resultado es similar al siguiente:

Ejemplo: Generar un cambio transitorio

En este ejemplo, se usa una secuencia de comandos de confirmación para establecer la encapsulación PPP en todas las interfaces SONET/SDH con la familia de protocoloS IPv4 habilitada. Los cambios se agregan como cambios transitorios.

Requisitos

En este ejemplo, se utilizan los siguientes componentes de hardware y software:

  • Dispositivo que ejecuta Junos OS con una o más interfaces SONET/SDH.

  • Junos OS versión 16.1R3 o posterior cuando se utiliza una secuencia de comandos de Python.

Descripción general y script de confirmación

El script de confirmación de este ejemplo encuentra todas las interfaces SONET/SDH con la familia de protocolo IPv4 habilitada en la configuración y agrega la encapsulation ppp instrucción a la configuración de interfaz. La secuencia de comandos de confirmación genera un cambio transitorio, que agrega el cambio a la configuración de pago, pero no a la configuración candidata. El script se muestra en SLAX, XSLT y Python.

Las versiones SLAX y XSLT de la secuencia de comandos de confirmación generan el cambio transitorio mediante el uso de la jcs:emit-change plantilla, que es una plantilla auxiliar contenida en el archivo de importación junos.xsl . El tag parámetro de la jcs:emit-change plantilla tiene el valor transient-change, que dirige la secuencia de comandos a emitir el cambio como un cambio transitorio en lugar de como un cambio persistente. El content parámetro de la jcs:emit-change plantilla incluye las instrucciones de configuración que se agregarán como cambio transitorio.

La versión Python del script de confirmación genera el cambio transitorio mediante el uso de la jcs.emit_change() función, que se importa desde el jcs módulo. La secuencia de comandos de Python indica que se trata de un cambio transitorio al pasar en el argumento posicionaal 'transitorio-change'.

Sintaxis XSLT

Sintaxis SLAX

Sintaxis de Python

Configuración

Procedimiento

Procedimiento paso a paso

Para descargar, habilitar y probar la secuencia de comandos.

  1. Copie el script en un archivo de texto, asigne un nombre al archivo encap-ppp.xsl, encap-ppp.slax o encap-ppp.py según corresponda, y cópielo en el directorio /var/db/scripts/commit/ del dispositivo.

    Nota:

    Los scripts de Python sin firma deben ser propiedad de la raíz o de un usuario de la clase de inicio de sesión de Junos OS super-user , y solo el propietario del archivo puede tener permiso de escritura para el archivo.

  2. En el modo de configuración, configure la file instrucción y el nombre de archivo de secuencia de comandos en el [edit system scripts commit] nivel de jerarquía.

  3. Configure la allow-transients instrucción para habilitar scripts de confirmación para cargar cambios transitorios en la configuración de pago.

  4. Si el script está escrito en Python, habilite la ejecución de scripts de Python sin firmar.

    Nota:

    Configure la language python3 instrucción para usar Python 3 para ejecutar scripts de Python, o configure la language python instrucción para usar Python 2.7 para ejecutar scripts de Python. Para obtener más información, consulte idioma.

  5. Para probar que la secuencia de comandos de confirmación genera el cambio transitorio correctamente, asegúrese de que la configuración contiene la condición que provoca el cambio. Asegúrese de que la encapsulation ppp instrucción no se incluye en el [edit interfaces so-fpc/pic/port] nivel de jerarquía para al menos una interfaz SONET/SDH.

  6. Emita el commit check comando para previsualizar un seguimiento del procesamiento de script de confirmación para comprobar que la secuencia de comandos agregará el cambio transitorio a la configuración de pago. El commit check comando verifica la sintaxis de la configuración antes de una confirmación, pero no confirma los cambios.

    Emita el commit check | display detail comando para mostrar un seguimiento detallado del procesamiento de scripts de confirmación. En el resultado de muestra, hay dos cambios transitorios que se cargan en la configuración de pago.

  7. Después de comprobar que la secuencia de comandos produce los cambios correctos, emita el commit comando para iniciar la operación de confirmación y ejecutar el script.

Verificación

Verificar la configuración

Propósito

Compruebe que los cambios correctos están integrados en la configuración de pago. Si hay una o más interfaces SONET/SDH con la familia de protocoloS IPv4 habilitada, debería ver la encapsulation ppp instrucción agregada como un cambio transitorio en la jerarquía de interfaz.

Acción

Para ver la configuración con cambios transitorios, emita el comando del modo de show interfaces | display commit-scripts configuración. El show interfaces | display commit-scripts comando muestra todas las instrucciones que se encuentran en la configuración, incluidas las instrucciones que se generan mediante cambios transitorios. Si hay una o más interfaces SONET/SDH con la familia de protocoloS IPv4 habilitada, el resultado es similar al siguiente:

Solución de problemas

Solución de problemas de errores de confirmación

Problema

La CLI genera un error de cambio transitorio no válido y la confirmación falla.

Solución

Debe configurar la instrucción en el allow-transients [edit system scripts commit] nivel de jerarquía para habilitar scripts de confirmación para cargar cambios transitorios en la configuración de pago.

Configure la siguiente instrucción para permitir cambios transitorios: