Resolução de problemas de erros do Junos PyEZ ao configurar dispositivos Junos
As seções a seguir descrevem erros que você pode encontrar ao usar o Junos PyEZ para configurar dispositivos Junos. Essas seções também apresentam possíveis causas e soluções para cada erro.
Resolução de problemas de erros de tempo limite
Problema
Descrição
O código Junos PyEZ gera uma mensagem RpcTimeoutError ou uma mensagem TimeoutExpiredError e não atualiza a configuração do dispositivo.
RpcTimeoutError(host: dc1a.example.com, cmd: commit-configuration, timeout: 30)
Causa
O tempo padrão de um RPC NETCONF para o tempo de saída é de 30 segundos. Grandes mudanças de configuração podem exceder esse valor, fazendo com que a operação fique sem tempo antes que a configuração possa ser carregada e comprometida.
Solução
Para acomodar mudanças de configuração que possam exigir um tempo de confirmação maior do que o intervalo de tempo limite padrão, definir o intervalo de tempo limite para um valor apropriado e refazer o código. Para configurar o intervalo, configure a Device
timeout
propriedade a um valor apropriado ou inclua o timeout=seconds
argumento no ou set()
método quando você carregar e comprometer dados de configuração em commit()
um dispositivo. Por exemplo:
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 problemas de bloqueio de configuração
Problema
Descrição
O código Junos PyEZ gera uma mensagem lockerror indicando que a configuração não pode ser bloqueada.
LockError(severity: error, bad_element: None, message: configuration database modified)
Causa
Um erro de bloqueio de configuração pode ocorrer pelos seguintes motivos:
Outro usuário tem um bloqueio exclusivo na configuração.
-
O banco de dados de configuração compartilhada não comprometeu as alterações.
O usuário que executa o código Junos PyEZ não tem permissões para configurar o dispositivo.
Solução
Se outro usuário tiver um bloqueio exclusivo na configuração ou tiver modificado a configuração, aguarde até que a fechadura seja liberada ou as alterações sejam comprometidas e execute o código novamente. Se a causa do problema for que o usuário não tem permissões para configurar o dispositivo, execute o programa com um usuário que tenha as permissões necessárias ou, se apropriado, configure o dispositivo Junos para dar ao usuário atual as permissões necessárias para fazer as alterações.
Resolução de problemas de erros de mudança de configuração
Problema
Descrição
O código Junos PyEZ gera uma mensagem do ConfigLoadError indicando que a configuração não pode ser modificada devido a um problema de permissões.
ConfigLoadError(severity: error, bad_element: scripts, message: permission denied)
Causa
Essa mensagem de erro pode ser gerada quando o usuário que executa o código Junos PyEZ tiver permissão para alterar a configuração, mas não tem permissão para alterar a parte desejada da configuração.
Solução
Execute o programa com um usuário que tenha as permissões necessárias ou, se apropriado, configure o dispositivo Junos para dar ao usuário atual as permissões necessárias para fazer as alterações.