Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Use o Junos PyEZ para confirmar a configuração

O Junos PyEZ permite que você faça mudanças de configuração estruturadas e não estruturadas em dispositivos Junos. Depois de se conectar ao dispositivo e modificar a configuração, você deve confirmar a configuração para torná-la ativa. Este tópico discute como confirmar a configuração e quais opções de confirmação são suportadas em aplicativos Junos PyEZ.

Como confirmar a configuração do candidato

Quando você usa o utilitário Junos PyEZ jnpr.junos.utils.config.Config para fazer mudanças de configuração não estruturadas em um dispositivo, você confirma a configuração do candidato chamando o método de Config instância commit() . Por exemplo:

Para verificar a sintaxe da configuração sem confirmá-la, chame o commit_check() método no lugar do commit() método.

Quando você usa tabelas e visualizações de configuração do Junos PyEZ para fazer mudanças de configuração estruturadas em um dispositivo, você confirma a configuração do candidato chamando o set() método, que chama automaticamente os lock()métodos , load()e unlock() commit() , ou chamando os vários métodos individualmente. Por exemplo:

Da mesma forma, você pode chamar os métodos individuais, como no exemplo a seguir:

Observação:

Se você usar um gerenciador de contexto para criar o Config objeto ou Table e definir o mode argumento como private, exclusive, dynamic, batchou ephemeral, você só chamará os load() métodos and commit() para configurar o dispositivo. O gerenciador de contexto lida com a abertura, o bloqueio, o fechamento e o desbloqueio do banco de dados, portanto, as chamadas para os lock()métodos , unlock()ou set() em um desses modos resultam em uma exceção LockError.

Como especificar opções de confirmação

O Junos CLI fornece opções para a operação de confirmação, como adicionar um comentário de confirmação ou sincronizar a configuração em vários mecanismos de roteamento. O Junos PyEZ oferece suporte a muitas dessas mesmas opções de commit e algumas opções adicionais, que você pode usar em sua aplicação Junos PyEZ incluindo os argumentos apropriados na lista de argumentos do commit() método or set() . A Tabela 1 descreve as opções de confirmação suportadas e fornece o comando CLI correspondente.

Tabela 1: Opções de confirmação compatíveis com o Junos PyEZ

Argumento da opção commit

Descrição

Comando CLI

comment="comment"

Registre um comentário para essa operação de confirmação no arquivo de log do sistema e no histórico de confirmação do dispositivo.

commit comment "comment"

confirm=(True | minutes)

Exigir que uma operação de confirmação seja confirmada dentro de um período de tempo especificado após a confirmação inicial. Caso contrário, reverta para a configuração confirmada anteriormente.

Defina o argumento como True para usar o tempo padrão de 10 minutos.

commit confirmed <minutes>

detail=True

Retorna um objeto XML com informações detalhadas sobre o processo de confirmação.

commit | display detail | display xml

force_sync=True

Sincronize e confirme a configuração em ambos os mecanismos de roteamento, mesmo que o outro Mecanismo de Roteamento tenha sessões de configuração abertas ou alterações de configuração não confirmadas.

commit synchronize force

ignore_warning=True

ignore_warning="string"

ignore_warning=["string1", "string2"]

Ignore os avisos gerados durante a operação de confirmação.

Defina o argumento como True para ignorar todos os avisos ou defina o argumento como uma cadeia de caracteres ou lista de cadeias de caracteres especificando quais avisos devem ser ignorados.

sync=True

Sincronize e comprometa a configuração em ambos os mecanismos de roteamento.

commit synchronize

timeout=seconds

Aguarde a conclusão da operação usando o valor especificado como o tempo limite.

Comentário do commit

Ao confirmar a configuração, você pode incluir um breve comentário para descrever a finalidade das mudanças confirmadas. Para registrar um comentário descrevendo as alterações, inclua o comment parâmetro e uma cadeia de caracteres de mensagem na lista de argumentos do commit() método or set() , conforme apropriado. Por exemplo:

Incluir o comment argumento é equivalente a emitir o commit comment comando do modo de configuração na CLI. O comentário é registrado no arquivo de log do sistema e incluído no histórico de confirmação do dispositivo, que pode ser visualizado emitindo o show system commit comando na CLI.

Confirmar confirmação

Para exigir que uma operação de confirmação seja confirmada dentro de um período de tempo especificado após a confirmação inicial, inclua o confirm=minutes argumento na lista de argumentos do commit() método or set() , conforme apropriado.

Se a confirmação não for confirmada dentro do limite de tempo determinado, o dispositivo reverterá automaticamente para a configuração confirmada anteriormente e enviará uma mensagem de broadcast para todos os usuários conectados. O intervalo permitido é de 1 a 65.535 minutos. Você também pode especificar confirm=True o uso do tempo de reversão padrão de 10 minutos. Para confirmar a operação de confirmação, chame o commit() método or commit_check() .

A operação de confirmação confirmada é útil para verificar se uma alteração de configuração funciona corretamente e não impede o acesso de gerenciamento ao dispositivo. Se a alteração impedir o acesso ou causar outros erros, a reversão automática para a configuração anterior habilitará o acesso ao dispositivo após o término do prazo de reversão. Se você perder a conectividade com o dispositivo, deverá emitir o método Junos PyEZ open() para restaurar a conectividade.

Detalhe do commit

Você pode revisar os detalhes de toda a operação de confirmação incluindo o detail=True argumento na lista de argumentos do commit() método or set() . Quando você inclui esse argumento, o método retorna um objeto XML com informações detalhadas sobre o processo de confirmação. O valor retornado é equivalente ao conteúdo delimitado pelo <commit-results> elemento na saída do commit | display detail | display xml comando na CLI.

Sincronização de confirmação

Se o dispositivo tiver mecanismos de roteamento duplos, você poderá sincronizar e confirmar a configuração em ambos os mecanismos de roteamento incluindo o sync=True argumento na lista de argumentos do commit() método ou set() .

Quando você inclui o sync=True argumento, o dispositivo copia a configuração do candidato armazenada no Mecanismo de Roteamento local para o outro Mecanismo de Roteamento, verifica a exatidão sintática do candidato e a confirma em ambos os mecanismos de roteamento. Para forçar a commit synchronize operação a ser bem-sucedida, mesmo que haja sessões de configuração abertas ou alterações de configuração não confirmadas no outro Mecanismo de Roteamento, use o force_sync=True argumento, que faz com que o dispositivo encerre todas as sessões de configuração no outro Mecanismo de Roteamento antes de sincronizar e confirmar a configuração.

Confirmar e confirmar o tempo limite de verificação

O tempo padrão para um RPC atingir o tempo limite é de 30 segundos. Grandes alterações na configuração podem exceder esse valor, fazendo com que uma operação de confirmação ou verificação de confirmação atinja o tempo limite antes que a configuração possa ser carregada, verificada e confirmada. Para acomodar alterações de configuração que podem exigir uma verificação de confirmação ou tempo de confirmação maior que o intervalo de tempo limite padrão, inclua o timeout=seconds argumento na commit_check()lista de argumentos do método commit() ou set() ou e defina o intervalo de tempo limite como um valor apropriado. Por exemplo:

Ignorar avisos

O Junos PyEZ gera uma RpcError exceção quando a resposta RPC contém <rpc-error> elementos com uma gravidade de aviso ou superior. Nos casos em que é necessário ou desejável suprimir as RpcError exceções geradas em resposta a avisos, você pode incluir o commit() parâmetro do ignore_warning método. Por exemplo:

Para obter mais informações sobre como usar o ignore_warning parâmetro, consulte Suprimir exceções de RpcError geradas para avisos em aplicativos Junos PyEZ.