Solucionar errores de Junos PyEZ al configurar dispositivos Junos
En las siguientes secciones se describen los errores que puede encontrar al utilizar Junos PyEZ para configurar dispositivos Junos. Estas secciones también presentan posibles causas y soluciones para cada error.
Solucionar errores de tiempo de espera
Problema
Descripción
El código de Junos PyEZ genera un mensaje RpcTimeoutError o un mensaje TimeoutExpiredError y no actualiza la configuración del dispositivo.
RpcTimeoutError(host: dc1a.example.com, cmd: commit-configuration, timeout: 30)
Causa
El tiempo predeterminado para que se agote el tiempo de espera de una RPC de NETCONF 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 la operación antes de que se pueda cargar y confirmar la configuración.
Solución
Para adaptarse a los cambios de configuración que pueden requerir un tiempo de confirmación superior al intervalo de tiempo de espera predeterminado, establezca el intervalo de tiempo de espera en un valor adecuado y vuelva a ejecutar el código. Para configurar el intervalo, establezca la Device timeout propiedad en un valor adecuado o incluya el argumento en el commit() método o set() cuando cargue y confirme datos de timeout=seconds configuración en un dispositivo. Por ejemplo:
dev = Device(host="host")
dev.open()
dev.timeout = 300
with Config(dev, mode='exclusive') as cu:
cu.load(path='junos-config.conf', merge=True)
cu.commit(timeout=360)
dev.close()
Solucionar errores de bloqueo de configuración
Problema
Descripción
El código PyEZ de Junos genera un mensaje LockError que indica que no se puede bloquear la configuración.
LockError(severity: error, bad_element: None, message: configuration database modified)
Causa
Puede producirse un error de bloqueo de configuración por los siguientes motivos:
Otro usuario tiene un bloqueo exclusivo en la configuración.
-
La base de datos de configuración compartida tiene cambios no confirmados.
El usuario que ejecuta el código de Junos PyEZ no tiene permisos para configurar el dispositivo.
Solución
Si otro usuario tiene un bloqueo exclusivo en la configuración o ha modificado la configuración, espere hasta que se libere el bloqueo o se confirmen los cambios, y vuelva a ejecutar el código. Si la causa del problema es que el usuario no tiene permisos para configurar el dispositivo, ejecute el programa con un usuario que tenga los permisos necesarios o, si corresponde, configure el dispositivo Junos para otorgar al usuario actual los permisos necesarios para realizar los cambios.
Solucionar errores de cambio de configuración
Problema
Descripción
El código de Junos PyEZ genera un mensaje ConfigLoadError que indica que la configuración no se puede modificar debido a un problema de permisos.
ConfigLoadError(severity: error, bad_element: scripts, message: permission denied)
Causa
Este mensaje de error puede generarse cuando el usuario que ejecuta el código de Junos PyEZ tiene permiso para modificar la configuración, pero no tiene permiso para modificar la parte deseada de la configuración.
Solución
Ejecute el programa con un usuario que tenga los permisos necesarios o, si corresponde, configure el dispositivo Junos para otorgar al usuario actual los permisos necesarios para realizar los cambios.