Cree una macro de script de confirmación para leer la sintaxis personalizada y generar instrucciones de configuración relacionadas
Las macros de script de confirmación le permiten expandir la sintaxis de configuración personalizada en instrucciones de configuración estándar de Junos OS. Por sí sola, la sintaxis personalizada de una apply-macro
instrucción no tiene ningún impacto operativo en el dispositivo. Para darle sentido a la sintaxis, debe haber una secuencia de comandos de confirmación correspondiente que use la sintaxis como datos para generar instrucciones junos OS relacionadas.
Para escribir un script de este tipo:
- Al inicio de la secuencia de comandos, incluya la placa de caldera de script de confirmación adecuada de La placa de caldera necesaria para scripts de confirmación. Se reproduce aquí para mayor comodidad:
Placa
<?xml version="1.0" standalone="yes"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:junos="http://xml.juniper.net/junos/*/junos" xmlns:xnm="http://xml.juniper.net/xnm/1.1/xnm" xmlns:jcs="http://xml.juniper.net/junos/commit-scripts/1.0"> <xsl:import href="../import/junos.xsl"/> <xsl:template match="configuration"> <!-- ... insert your code here ... --> </xsl:template> </xsl:stylesheet>
version 1.0; ns junos = "http://xml.juniper.net/junos/*/junos"; ns xnm = "http://xml.juniper.net/xnm/1.1/xnm"; ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0"; import "../import/junos.xsl"; match configuration { /* * insert your code here */ }
from junos import Junos_Configuration import jcs if __name__ == '__main__': # insert your code here
- En la posición indicada por el comentario "insert your code here", incluya instrucciones de programación que inspeccionen la configuración de la
apply-macro
instrucción en un nivel de jerarquía especificado y cambien la configuración para incluir sintaxis estándar de Junos OS.Para obtener un ejemplo que usa ambos tipos de instrucciones e incluye un análisis línea a línea de la sintaxis de la XSLT, consulte Ejemplo: Creación de sintaxis de configuración personalizada con macros de script de confirmación.
- Guarde el script con un nombre significativo.
- Copie el script en el directorio /var/db/scripts/commit en el disco duro o en el directorio /config/scripts/commit en la unidad flash.
Para obtener más información acerca de cómo configurar la ubicación de almacenamiento para scripts de confirmación, consulte Almacenar y habilitar scripts de Automatización de Junos y almacenar scripts en memoria flash.
- Habilite la secuencia de comandos configurando la
file filename
instrucción en el[edit system scripts commit]
nivel de jerarquía.[edit system scripts] user@host# set commit file filename
- Si la secuencia de comandos realiza cambios transitorios, incluya la
allow-transients
instrucción en el[edit system scripts commit]
nivel de jerarquía.[edit system scripts] user@host# set commit allow-transients
- Si el script está escrito en Python, habilite la ejecución de scripts de Python sin firmar.
[edit system scripts] user@host# set language (python | python3)
- Confirme la configuración.
[edit system scripts] user@host# commit and-quit
Si todos los scripts de confirmación se ejecutan sin errores, se cargan los cambios persistentes en la configuración candidata y los cambios transitorios se cargan en la configuración de pago, pero no en la configuración candidata. Luego, el proceso de confirmación continúa validando la configuración y propagando los cambios a los procesos afectados en el dispositivo que ejecuta Junos OS.