Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Solucionar problemas de scripts de confirmación

Después de habilitar una secuencia de comandos de confirmación y emitir un commit comando, la secuencia de comandos de confirmación tendrá efecto de inmediato.

En la tabla 1 se describen algunos problemas comunes que podrían ocurrir.

Tabla 1: Resolución de problemas de scripts de confirmación

Problema

Solución

El resultado del commit check | display detail comando no hace referencia a los scripts de confirmación esperados.

Asegúrese de que ha habilitado todos los scripts incluyendo la file instrucción para cada uno en el [edit system scripts commit] nivel de jerarquía.

El resultado contiene el mensaje de error:

error: could not open commit script: 
/var/db/scripts/commit/filename:
No such file or directory

Asegúrese de que la secuencia de comandos de confirmación esté presente en el directorio /var/db/scripts/commit/ en su conmutador, enrutador o dispositivo de seguridad.

Aparecen los siguientes mensajes de error y advertencia:

error: invalid transient change 
generated by commit script: filename 
 warning: 1 transient change was generated 
without [system scripts commit allow-transients]

Uno de los scripts de confirmación contiene instrucciones para generar un cambio transitorio, pero no ha habilitado los cambios transitorios.

Para corregir este problema, realice una de las siguientes acciones:

  • Incluya la allow-transients instrucción en el [edit system scripts commit] nivel de jerarquía.

  • Quite el código que genera un cambio transitorio del script indicado.

  • Desactive el script en la configuración.

No se produce una acción esperada.

Por ejemplo, no aparece un mensaje de advertencia aunque la configuración contenga el problema que se supone que evoca el mensaje de advertencia.

  1. Asegúrese de que habilitó el script. Los scripts se ignoran si no están habilitados.

    Para habilitar una secuencia de comandos, incluya la file filename instrucción en el [edit system scripts commit] nivel de jerarquía.

  1. Asegúrese de haber incluido la placa de caldera requerida en su script. Para obtener más información, consulte Placa de calderas requeridas para scripts de confirmación.

  1. Asegúrese de que las expresiones de la ruta de lenguaje de marcado extensible (XPath) del script contienen instrucciones de interfaz de línea de comandos (CLI) válidas de Junos OS expresadas como elementos de etiqueta de protocolo Junos XML.

    Puede comprobar la jerarquía XML comprobando la referencia del desarrollador de configuración de la API XML de Junos o emitiendo el comando de show configuration | display xml modo operativo.

  1. Asegúrese de que las instrucciones de programación del script hacen referencia al nodo de contexto correcto.

    Si anida una instrucción dentro de otra, la instrucción externa cambia el nodo de contexto, por lo que la instrucción interna debe ser relativa a la externa.

    Por ejemplo, la <xsl:for-each> instrucción contiene una expresión XPath, que cambia el nodo de contexto. Por lo tanto, la instrucción anidada <xsl:if> usa una expresión XPath relativa a la interfaces/interface[starts-with(name, 't1-')] expresión XPath .

    <xsl:for-each select="interfaces/
         interface[starts-with(name, 't1-')]">
    <xsl:if test="not(description)">

La operación de confirmación se produce un error y un mensaje de error en el archivo de registro del sistema indica:

Process (pid,cscript) attempted to exceed RLIMIT_DATA

Cuando confirme una configuración inspeccionada por uno o varios scripts de confirmación, es posible que deba aumentar la cantidad de memoria asignada a los scripts de confirmación para admitir el procesamiento de configuraciones de gran tamaño.

De forma predeterminada, la cantidad máxima de memoria asignada para la parte del segmento de datos de una secuencia de comandos ejecutada es la mitad de la memoria total disponible del sistema, hasta un valor máximo de 128 MB. Para aumentar la memoria máxima asignada para cada secuencia de comandos de confirmación ejecutada, configure la max-datasize size instrucción con un límite de memoria adecuado en bytes en el [edit system scripts commit] nivel jerárquico antes de confirmar la configuración.