Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Ejemplo: cambiar la configuración mediante scripts operativos SLAX y XSLT

En este ejemplo se explica cómo realizar cambios estructurados en la configuración de Junos OS mediante un script de operación SLAX.

Configuración del dispositivo

Procedimiento paso a paso

Para descargar, habilitar y probar el script:

  1. Copie el script en un archivo de texto, asigne al archivo el nombre config-change.slax y cópielo en el directorio /var/db/scripts/op/ del dispositivo.

  2. En el modo de configuración, configure el nombre de archivo del script en el nivel jerárquico [edit system scripts op file] .

  3. Emita el commit and-quit comando para confirmar la configuración y volver al modo operativo.

  4. Antes de ejecutar el script, emita el comando de show interfaces interface-name modo operativo y registre el estado actual de la interfaz que el script deshabilitará.

  5. Ejecute el script op.

Requisitos

En este ejemplo se utiliza un dispositivo que ejecuta Junos OS.

Descripción general y script de operación

Los scripts de operación SLAX y XSLT pueden utilizar la jcs:load-configuration plantilla, que se encuentra en el archivo de importación junos.xsl , para realizar cambios estructurados en la configuración de Junos OS. En este ejemplo se crea un script de operación SLAX que utiliza la jcs:load-configuration plantilla para deshabilitar una interfaz en un dispositivo que ejecuta Junos OS. Todos los valores necesarios para la jcs:load-configuration plantilla se definen como variables, que luego se pasan a la plantilla.

En este ejemplo, la usage variable se inicializa con una descripción general de la función del script. Cuando ejecuta el script, llama a la jcs:output() función para generar la descripción de uso en la CLI. Esto le permite comprobar que está utilizando el script para el propósito correcto.

El script llama a la jcs:get-input() función, que solicita el nombre de la interfaz que desea deshabilitar, y almacena el nombre de la interfaz en la interface variable. La config-changes variable almacena los datos de configuración XML de Junos para cargarlos en el dispositivo y hace referencia a la interface variable. La jcs:load-configuration llamada a la plantilla establece el valor del configuration parámetro en los datos almacenados en la config-changes variable.

La load-action variable se establece en merge, que combina los nuevos datos de configuración con la configuración candidata. Este es el equivalente del comando load mergede modo de configuración de CLI.

La options variable define las opciones de la operación de confirmación. Utiliza el := operador para crear un node-set, que se pasa a la plantilla como el valor del commit-options parámetro. En este ejemplo se incluye la log etiqueta para agregar la descripción de la confirmación al registro de confirmación para referencia futura.

La llamada a la jcs:open() función abre una conexión con el proceso de administración de Junos OS (mgd) en el dispositivo local y devuelve un identificador de conexión que se almacena en la conn variable. A continuación, el script llama a la jcs:load-configuration plantilla.

El := operador copia los resultados de la jcs:load-configuration llamada de plantilla a una variable temporal y ejecuta la node-set función en esa variable. El conjunto de nodos resultante se almacena en la results variable. El := operador se asegura de que la results variable es un conjunto de nodos en lugar de un fragmento de árbol de resultados para que el script pueda acceder al contenido.

La jcs:close() función cierra la conexión con el dispositivo. De forma predeterminada, la jcs:load-configuration plantilla no envía mensajes a la CLI. En este ejemplo se buscan e imprimen xmn:warning mensajes xnm:error en la respuesta para identificar rápidamente cualquier problema relacionado con la confirmación.

Sintaxis de SLAX

Verificación

Verificación de la confirmación

Propósito

Compruebe que la confirmación se ha realizado correctamente.

Acción

Debe incluir código en el script que analice el conjunto de nodos devuelto por la jcs:load-configuration plantilla en busca de errores o advertencias. Esto le permite determinar más fácilmente si la confirmación se realizó correctamente. Si no hay mensajes de advertencia o error, puede verificar el éxito de la confirmación de varias maneras.

  • Compruebe el registro de confirmación para comprobar que la confirmación se ha realizado correctamente. Si incluyó la log opción en el commit-options parámetro, el mensaje debería estar visible en el registro de confirmación junto con la información de confirmación.

  • Compruebe el archivo de mensajes syslog para comprobar que se registró la operación de confirmación. En este caso, también verá un SNMP_TRAP_LINK_DOWN mensaje para la interfaz deshabilitada so-0/0/0. En función de la configuración de traceoptions, este mensaje puede aparecer o no en el archivo de registro.

Comprobación de los cambios de configuración

Propósito

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

Acción

  • Muestre la configuración y compruebe que los cambios son visibles para la interfaz especificada.

  • En este ejemplo, también puede emitir el comando de show interfaces interface-name modo operativo para comprobar que la interfaz estaba deshabilitada. En este caso, la salida capturada antes de deshabilitar la interfaz muestra que la interfaz es Enabled.

    El resultado capturado después de ejecutar el script para deshabilitar la interfaz muestra que la interfaz ahora Administratively downes .