Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Utilice Junos PyEZ para administrar la configuración de rescate en dispositivos Junos

La utilidad Junos PyEZ jnpr.junos.utils.config.Config le permite administrar la configuración de rescate en dispositivos Junos. Una configuración de rescate le permite definir una configuración de trabajo conocida o una configuración con un estado conocido que puede restaurar en cualquier momento. Utilice la configuración de rescate cuando necesite revertir a una configuración conocida o como último recurso si su enrutador o configuración de conmutador y los archivos de configuración de respaldo se dañan más allá de su reparación.

Cómo administrar la configuración de rescate

La jnpr.junos.utils.config.Config utilidad le permite guardar, recuperar, cargar y eliminar la configuración de rescate en un dispositivo Junos. Después de crear una instancia de la Config clase, utilice el rescue() método para mange la configuración de rescate. Especifique la acción que se va a realizar en la configuración de rescate estableciendo el parámetro del rescue() método action en la operación deseada. Los valores de acción válidos incluyen "save", "get", , "reload"y "delete". En los ejemplos siguientes se muestra la llamada al método para cada rescue() acción del método.

Guardar una configuración de rescate

Cuando se crea una configuración de rescate, el dispositivo guarda la configuración confirmada más reciente como la configuración de rescate. Para guardar la configuración activa como la configuración de rescate, especifique action="save" en la lista de argumentos del rescue() método. Esta operación sobrescribe cualquier configuración de rescate existente. Por ejemplo:

Recuperar la configuración de rescate

Para recuperar una configuración de rescate existente, especifique action="get"y, opcionalmente, especifique el formato como "json", "text" o "xml". Si no especifica un formato, el formato predeterminado es el texto. Si el dispositivo no tiene una configuración de rescate existente, el rescue() método devuelve None.

En el ejemplo siguiente, se recupera e imprime la configuración de rescate, si existe.

Cargar y confirmar la configuración de rescate

Para cargar la configuración de rescate existente en la configuración candidata, especifique action="reload". Si no existe ninguna configuración de rescate, la operación de carga devuelve False. Después de cargar la configuración de rescate, debe confirmar la configuración para que sea la configuración activa en el dispositivo.

En el siguiente ejemplo, se intenta cargar la configuración de rescate y, si existe, se confirma para que sea la configuración activa.

Eliminar la configuración de rescate

Para eliminar la configuración de rescate existente, especifique action="delete".

Ejemplo: Utilice Junos PyEZ para guardar una configuración de rescate

En este ejemplo, se utiliza la utilidad Junos PyEZ jnpr.junos.utils.config.Config para guardar una configuración de rescate en un dispositivo Junos, si aún no existe.

Requisitos

En este ejemplo, se utilizan los siguientes componentes de hardware y software:

  • Servidor de administración de configuración que ejecuta Python 3.5 o posterior y Junos PyEZ versión 2.0 o posterior

  • Dispositivo Junos con NETCONF habilitado y una cuenta de usuario configurada con los permisos adecuados

  • Par de claves públicas/privadas SSH configuradas para el usuario adecuado en el servidor y el dispositivo Junos

Visión general

En este ejemplo, se presenta una aplicación Python que utiliza la utilidad Junos PyEZ Config para guardar una configuración de rescate en el dispositivo especificado. Una configuración de rescate le permite definir una configuración de trabajo conocida o una configuración con un estado conocido que puede restaurar en cualquier momento. Cuando se crea una configuración de rescate, el dispositivo guarda la configuración confirmada más reciente como la configuración de rescate.

La aplicación Python importa la Device clase, que controla la conexión con el dispositivo Junos; la Config clase, que se usa para realizar las operaciones de configuración de rescate en el dispositivo de destino; y las excepciones necesarias del jnpr.junos.exception módulo, que contiene las excepciones que se encuentran al administrar dispositivos Junos. Después de crear la Device instancia para el dispositivo de destino, el open() método establece una conexión y una sesión NETCONF con el dispositivo.

La aplicación determina primero si hay una configuración de rescate existente en el dispositivo de destino. Si existe una configuración de rescate, se imprime en la salida estándar. Si no hay ninguna configuración de rescate existente, la aplicación indica al dispositivo que cree una. El rescue() parámetro method action se establece para "get" recuperar la configuración de rescate existente y para "save" crear una configuración de rescate si no existe.

Después de realizar las operaciones de configuración de rescate, la aplicación llama al close() método para terminar la sesión y la conexión NETCONF. La aplicación incluye código para controlar excepciones, como ConnectError los errores que se producen al conectarse al dispositivo. La aplicación también incluye código para controlar cualquier excepción adicional que pueda ocurrir.

Configuración

Cree la aplicación Junos PyEZ

Procedimiento paso a paso

Para crear una aplicación de Python que use Junos PyEZ para guardar una configuración de rescate, si aún no existe en el dispositivo Junos:

  1. Importe los módulos, las clases y los objetos necesarios.

  2. Incluya las variables necesarias, que en este ejemplo incluyen el nombre de host del dispositivo administrado.

  3. Cree una main() definición de función y una llamada a función, y coloque las instrucciones restantes dentro de la definición.

  4. Cree una instancia de la Device clase y proporcione el nombre de host y los parámetros necesarios para esa conexión específica.

  5. Abra una conexión y establezca una sesión NETCONF con el dispositivo.

  6. Cree una instancia de la Config utilidad.

  7. Imprima la configuración de rescate existente o guárdela si no existe.

  8. Finalice la sesión NETCONF y cierre la conexión con el dispositivo.

Resultados

En el servidor de administración de configuración, revise la aplicación completada. Si la aplicación no muestra el código deseado, repita las instrucciones de este ejemplo para corregir la aplicación.

Ejecute el código Junos PyEZ

Ejecute la aplicación

Para ejecutar el código Junos PyEZ:

  • En el servidor de administración de configuración, ejecute la aplicación.

    En este ejemplo, el dispositivo de destino no tiene una configuración de rescate existente, por lo que el dispositivo guarda uno. Si ejecuta la aplicación por segunda vez, genera la configuración de rescate que se guardó durante la ejecución inicial.

Verificación

Verifique la configuración

Propósito

Compruebe que la configuración de rescate existe en el dispositivo Junos.

Acción

Inicie sesión en el dispositivo Junos y vea la configuración de rescate. Por ejemplo:

Solución de problemas

Solución de problemas de errores de acción no compatibles

Problema

El código Junos PyEZ genera un mensaje de error que indica una acción no compatible.

Este mensaje de error se genera cuando el argumento del rescue() método action contiene un valor no válido.

Solución

Establezca el argumento del rescue() método action en una acción válida, que incluya "save", "get", "reload", y "delete".