Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Generar una advertencia, un error o un mensaje de registro del sistema personalizados en scripts de confirmación

Los scripts de confirmación de Junos OS pueden generar advertencias, errores o mensajes de registro del sistema personalizados durante una operación de confirmación para alertarle cuando la configuración no cumpla con las reglas de configuración personalizadas. La generación de un error también provoca un error en la operación de confirmación. Para generar una advertencia, un error o un mensaje de registro del sistema personalizados en un script de confirmación:

  1. Incluya la plantilla de script de confirmación adecuada de Required Boilerplate for Commit Scripts. Se reproduce aquí para mayor comodidad:

    Plantilla XSLT SLAX Boilerplate Plantilla de Python
  2. En la posición indicada por el comentario "insert your code here," incluya una o más instrucciones de programación XSLT o sus equivalentes SLAX o Python. Entre las construcciones XSLT más utilizadas se incluyen las siguientes:

    • <xsl:choose> <xsl:when> <xsl:otherwise>—Construcción condicional que hace que se procesen diferentes instrucciones en diferentes circunstancias. La <xsl:choose> instrucción contiene uno o más <xsl:when> elementos, cada uno de los cuales prueba una expresión XPath . Si la prueba se evalúa como verdadera, el procesador XSLT ejecuta las instrucciones del <xsl:when> elemento. El procesador XSLT procesa sólo las instrucciones contenidas en el primer <xsl:when> elemento cuyo test atributo se evalúa como verdadero. Si ninguno de los atributos de los <xsl:when> test elementos se evalúa como verdadero, se procesa el contenido del <xsl:otherwise> elemento, si lo hay.

    • <xsl:for-each select="xpath-expression">—Instrucción de programación que indica al procesador XSLT que reúna un conjunto de nodos y los procese uno por uno. Los nodos se seleccionan mediante la expresión XPath (Lenguaje de marcado extensible (XML) en el select atributo. Cada uno de los nodos se procesa de acuerdo con las instrucciones contenidas en la <xsl:for-each> instrucción. El código dentro de una <xsl:for-each> instrucción se evalúa recursivamente para cada nodo que coincide con la expresión XPath. El contexto se mueve al nodo durante cada pasada.

    • <xsl:if test="xpath-expression">: construcción condicional que hace que se procesen instrucciones si la expresión XPath del test atributo se evalúa como true.

      Por ejemplo, la siguiente instrucción de programación se evalúa como verdadera cuando la host-name instrucción no se incluye en el nivel de [edit system] jerarquía:

      En SLAX, el if constructo se ve así:

      Del mismo modo, en Python:

  3. Incluya las construcciones adecuadas para generar una advertencia, un error o un mensaje de registro del sistema.

    En los scripts SLAX y XSLT, incluya <xnm:warning>, <xnm:error>o <syslog> elementos con un <message> elemento secundario que especifique el contenido del mensaje. Para los mensajes de advertencia y error, puede incluir otros elementos secundarios, como las jcs:edit-path plantillas y jcs:statement , que hacen que el mensaje de advertencia o error incluya la jerarquía de configuración relevante y la información de la instrucción, como se muestra en los ejemplos siguientes.

    En scripts de Python, incluya jcs.emit_warning(), jcs.emit_error(), o jcs.syslog() funciones, e incluya la cadena de mensaje en la lista de argumentos.

    Por ejemplo, cuando una secuencia de comandos de confirmación XSLT genera una advertencia utilizando el siguiente <xnm:warning> elemento:

    Emite la siguiente salida durante la commit operación:

    Del mismo modo, cuando un script de confirmación XSLT genera un error utilizando el siguiente <xnm:error> elemento:

    Emite la siguiente salida durante la commit operación:

    Nota:

    En los scripts SLAX y XSLT, si incluye un mensaje de advertencia junto con un cambio de configuración generado por un script, puede generar la advertencia incluyendo el message parámetro con la jcs:emit-change plantilla. El parámetro message hace que la jcs:emit-change plantilla llame a la <xnm:warning> plantilla, que envía una notificación de advertencia a la CLI. (Para obtener más información, consulte Información general sobre la generación de cambios de configuración persistentes o transitorios mediante scripts de confirmación).

    Para los mensajes de registro del sistema, el único elemento secundario admitido es <message>:

    Para obtener una descripción de todas las etiquetas y atributos XSLT que puede incluir, consulte Elementos de etiqueta de script de confirmación de SLAX y XSLT para usar al generar mensajes.

    Para conocer las versiones SLAX de estas construcciones, consulte Ejemplo: generar un mensaje de advertencia personalizado, Ejemplo: generar un mensaje de error personalizado y Ejemplo: Generar un mensaje de registro del sistema personalizado.

  4. Guarde el script con un nombre significativo.

  5. Copie el script en el directorio /var/db/scripts/commit del disco duro o en el directorio /config/scripts/commit de la unidad flash.

    Para obtener información acerca de cómo configurar la ubicación de almacenamiento para los scripts de confirmación, consulte Almacenar y habilitar scripts de automatización de Junos y Almacenar scripts en la memoria flash.

  6. Habilite el script incluyendo la file filename instrucción en el nivel de [edit system scripts commit] jerarquía.

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

  8. Confirme la configuración.

    Nota:

    Si el dispositivo tiene motores de enrutamiento duales y desea que la secuencia de comandos surta efecto en ambas, puede emitir el commit synchronize scripts comando para sincronizar la configuración y copiar las secuencias de comandos en el otro motor de enrutamiento como parte de la operación de confirmación.