Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Utilice Junos PyEZ para comparar la configuración candidata y una configuración previamente confirmada

RESUMEN Utilice Junos PyEZ diff() y pdiff() los métodos para comparar la configuración candidata con una configuración confirmada anteriormente.

Los dispositivos Junos almacenan una copia de la configuración confirmada más reciente y hasta 49 configuraciones anteriores. La utilidad Junos PyEZ jnpr.junos.utils.config.Config le permite comparar la configuración candidata con una configuración previamente confirmada e imprimir o devolver la diferencia. En la tabla 1 se describen los métodos, que equivalen a emitir el comando de show | compare rollback n modo de configuración en la CLI de Junos OS.

Tabla 1: Métodos de Junos PyEZ para comparar configuraciones

Método

Descripción

diff()

Compare la configuración candidata con la configuración de reversión especificada y devuelva la diferencia como un objeto.

pdiff()

Compare la configuración candidata con la configuración de reversión especificada e imprima la diferencia directamente en la salida estándar.

Nota:

La base de datos de configuración efímera almacena solo la versión actual de los datos de configuración efímera confirmados y, como resultado, no admite la comparación de la configuración efímera modificada con configuraciones confirmadas anteriormente.

Los diff() métodos y pdiff() recuperan la diferencia entre la configuración candidata y una configuración confirmada anteriormente, a la que hace referencia el parámetro de ID de reversión, rb_id, en la llamada al método. Si se omite el parámetro, el ID de reversión predeterminado es 0, que corresponde a la configuración activa.

La diferencia se devuelve en formato de parche, donde:

  • Las instrucciones que sólo existen en la configuración candidata tienen el prefijo de un signo más (+)

  • Las instrucciones que sólo existen en la configuración de comparación y no en la configuración candidata tienen como prefijo un signo menos (-)

  • Los métodos devuelven o imprimen None si no hay diferencias entre las configuraciones.

En una aplicación Junos PyEZ, después de establecer una conexión con el dispositivo, puede llamar al método o pdiff() para Config un diff() objeto Table o para comparar las configuraciones candidata y de reversión. En el ejemplo siguiente se utiliza la Config clase para cargar los cambios de configuración en la configuración candidata y, a continuación, se llama al pdiff() método para imprimir las diferencias entre la configuración candidata modificada y la configuración activa antes de confirmar los cambios.

Cuando se ejecuta el código, se imprimen las diferencias en la salida estándar. Por ejemplo:

Para recuperar la diferencia entre las configuraciones como un objeto para su posterior manipulación, llame al diff() método en lugar del pdiff() método y almacene el resultado en una variable. Por ejemplo:

Cuando utilice tablas y vistas de configuración de Junos PyEZ para realizar cambios de configuración estructurados en un dispositivo, puede cargar y confirmar los datos de configuración llamando a los lock()métodos , load()y commit() unlock() de forma individual, o llamando al set() método, que llama a todos estos métodos automáticamente. Si utiliza tablas de configuración para configurar un dispositivo y desea comparar la configuración candidata actualizada con una configuración confirmada previamente mediante los diff() métodos o pdiff() de la aplicación, debe utilizar los load() métodos y commit() en lugar del set() método. Hacer esto le permite recuperar las diferencias después de que los datos de configuración se cargan en la configuración candidata, pero antes de que se confirmen. Por ejemplo:

En el ejemplo siguiente se compara la configuración candidata con la configuración con el ID de reversión 5, pero no se realiza ningún cambio en la configuración: