Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Use Junos PyEZ para confirmar la configuración

Junos PyEZ le permite realizar cambios de configuración estructurados y no estructurados en dispositivos Junos. Después de conectarse al dispositivo y modificar la configuración, debe confirmar la configuración para que se active. En este tema, se explica cómo confirmar la configuración y qué opciones de confirmación son compatibles con las aplicaciones de Junos PyEZ.

Cómo confirmar la configuración candidata

Cuando se utiliza el programa de utilidad Junos PyEZ jnpr.junos.utils.config.Config para realizar cambios de configuración no estructurados en un dispositivo, se confirma la configuración candidata llamando al método de Config instancia commit() . Por ejemplo:

Para comprobar la sintaxis de la configuración sin confirmarla, llame commit_check() al método en lugar del commit() método.

Cuando utiliza las tablas y vistas de configuración de Junos PyEZ para realizar cambios de configuración estructurados en un dispositivo, confirma la configuración candidata llamando al set() método, que llama automáticamente a , y unlock() a los lock()load()commit() métodos, o llamando a los distintos métodos individualmente. Por ejemplo:

Del mismo modo, puede llamar a los métodos individuales, como en el siguiente ejemplo:

Nota:

Si utiliza un gestor de contexto para crear el Config objeto o Table y establece el mode argumento en private, exclusive, dynamicbatch, o ephemeral, sólo llama a los load() métodos and commit() para configurar el dispositivo. El administrador de contexto controla la apertura, el bloqueo, el cierre y el desbloqueo de la base de datos, por lo que las llamadas a los métodos , unlock()o set() en lock()uno de estos modos dan como resultado una excepción LockError.

Cómo especificar opciones de confirmación

La CLI de Junos proporciona opciones para la operación de confirmación, como agregar un comentario de confirmación o sincronizar la configuración en varios motores de enrutamiento. Junos PyEZ admite muchas de estas mismas opciones de confirmación y algunas opciones adicionales, que puede utilizar en su aplicación de Junos PyEZ si incluye los argumentos adecuados en la lista de argumentos o method commit() set() . En la tabla 1 se describen las opciones de confirmación admitidas y se proporciona el comando de la CLI correspondiente.

Tabla 1: Opciones de confirmación compatibles con Junos PyEZ

Argumento de opción de confirmación

Descripción

Comando de la CLI

comment="comment"

Registre un comentario para esa operación de confirmación en el archivo de registro del sistema y en el historial de confirmación del dispositivo.

commit comment "comment"

confirm=(True | minutes)

Requerir que una operación de confirmación se confirme dentro de un período de tiempo especificado después de la confirmación inicial. De lo contrario, revierta a la configuración confirmada anteriormente.

Establezca el argumento en True para usar el tiempo predeterminado de 10 minutos.

commit confirmed <minutes>

detail=True

Devuelve un objeto XML con información detallada sobre el proceso de confirmación.

commit | display detail | display xml

force_sync=True

Sincronice y confirme la configuración en ambos motores de enrutamiento, incluso si el otro motor de enrutamiento tiene sesiones de configuración abiertas o cambios de configuración no confirmados.

commit synchronize force

ignore_warning=True

ignore_warning="string"

ignore_warning=["string1", "string2"]

Ignore las advertencias que se generan durante la operación de confirmación.

Establezca el argumento en True para ignorar todas las advertencias o establezca el argumento en una cadena o lista de cadenas que especifiquen qué advertencias omitir.

sync=True

Sincronice y confirme la configuración en ambos motores de enrutamiento.

commit synchronize

timeout=seconds

Espere a que finalice la operación con el valor especificado como tiempo de espera.

Confirmar comentario

Cuando confirme la configuración, puede incluir un breve comentario para describir el propósito de los cambios confirmados. Para registrar un comentario que describa los cambios, incluya el parámetro y una cadena de comment mensaje en la lista de argumentos o método commit() set() , según corresponda. Por ejemplo:

Incluir el comment argumento equivale a emitir el comando de modo de commit comment configuración en la CLI. El comentario se registra en el archivo de registro del sistema y se incluye en el historial de confirmaciones del dispositivo, que puede ver emitiendo el show system commit comando en la CLI.

Confirmar confirmación

Para requerir que una operación de confirmación se confirme dentro de un período de tiempo especificado después de la confirmación inicial, incluya el confirm=minutes argumento en la lista de argumentos del commit() método o set() , según corresponda.

Si la confirmación no se confirma dentro del límite de tiempo dado, el dispositivo vuelve automáticamente a la configuración confirmada anteriormente y envía un mensaje de difusión a todos los usuarios que hayan iniciado sesión. El intervalo permitido es de 1 a 65.535 minutos. También puede especificar confirm=True que se utilice el tiempo de reversión predeterminado de 10 minutos. Para confirmar la operación de confirmación, llame al commit() método or commit_check() .

La operación de confirmación confirmada es útil para comprobar que un cambio de configuración funciona correctamente y no impide el acceso de administración al dispositivo. Si el cambio impide el acceso o provoca otros errores, la reversión automática a la configuración anterior habilita el acceso al dispositivo una vez finalizada la fecha límite de reversión. Si pierde la conectividad con el dispositivo, debe emitir el método Junos PyEZ open() para restaurar la conectividad.

Detalle de confirmación

Puede revisar los detalles de toda la operación de confirmación incluyendo el detail=True argumento en la lista de argumentos o method commit() set() . Cuando se incluye este argumento, el método devuelve un objeto XML con información detallada sobre el proceso de confirmación. El valor devuelto es equivalente al contenido incluido por el <commit-results> elemento en la salida del commit | display detail | display xml comando en la CLI.

Confirmar Sincronizar

Si el dispositivo tiene motores de enrutamiento duales, puede sincronizar y confirmar la configuración en ambos motores de enrutamiento si incluye el sync=True argumento en la lista de argumentos o method set() commit().

Cuando se incluye el sync=True argumento, el dispositivo copia la configuración candidata almacenada en el motor de enrutamiento local al otro motor de enrutamiento, verifica la corrección sintáctica del candidato y la confirma en ambos motores de enrutamiento. Para forzar que la commit synchronize operación se realice correctamente, incluso si hay sesiones de configuración abiertas o cambios de configuración no confirmados en el otro motor de enrutamiento, use el force_sync=True argumento que hace que el dispositivo finalice cualquier sesión de configuración en el otro motor de enrutamiento antes de sincronizar y confirmar la configuración.

Tiempo de espera de confirmación y comprobación de confirmación

El tiempo predeterminado para que se agote el tiempo de espera de una RPC es de 30 segundos. Los cambios de configuración grandes pueden superar este valor, lo que hace que se agote el tiempo de espera de una operación de confirmación o comprobación de confirmación antes de que se pueda cargar, comprobar y confirmar la configuración. Para dar cabida a los cambios de configuración que pueden requerir una comprobación de confirmación o un tiempo de confirmación mayor que el intervalo de tiempo de espera predeterminado, incluya el timeout=seconds argumento en la lista de argumentos de commit_check()commit() set() método y establezca el intervalo de tiempo de espera en un valor adecuado. Por ejemplo:

Ignorar advertencias

Junos PyEZ genera una RpcError excepción cuando la respuesta RPC contiene <rpc-error> elementos con una gravedad de advertencia o superior. En los casos en que sea necesario o deseable suprimir las RpcError excepciones que se generan en respuesta a las advertencias, puede incluir el parámetro del commit() ignore_warning método. Por ejemplo:

Para obtener más información sobre el uso del ignore_warning parámetro, consulte Suprimir excepciones de RpcError generadas para advertencias en aplicaciones Junos PyEZ.