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 comprometer a configuração

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

Como comprometer a configuração do candidato

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

Para verificar a sintaxe da configuração sem comprometê-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 alterações estruturadas de configuração em um dispositivo, você confirma a configuração do candidato ligando para o set() método, que automaticamente chama lock()de , load()commit() e unlock() métodos, ou ligando para os vários métodos individualmente. Por exemplo:

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

Nota:

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

Como especificar opções de compromisso

O Junos CLI oferece 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 confirmação e algumas opções adicionais, que você pode usar em seu aplicativo Junos PyEZ, incluindo os argumentos apropriados na lista de argumentos do commit() método. 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 suportadas pelo Junos PyEZ

Argumento de opção de confirmação

Descrição

Comando CLI

comment="comment"

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

commit comment "comment"

confirm=(True | minutes)

Exija que uma operação de confirmação seja confirmada dentro de um tempo especificado após o compromisso inicial. Caso contrário, reverta para a configuração previamente comprometida.

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

commit confirmed <minutes>

detail=True

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

commit | display detail | display xml

force_sync=True

Sincronizar e comprometer a configuração em ambos os mecanismos de roteamento, mesmo que haja sessões de configuração abertas ou mudanças de configuração não comprometidas no outro Mecanismo de Roteamento.

commit synchronize force

ignore_warning=True

ignore_warning="string"

ignore_warning=["string1", "string2"]

Ignore os avisos que são levantados durante a operação de confirmação.

Defina o argumento para True ignorar todos os avisos ou definir o argumento para uma seqüência ou lista de strings especificando quais avisos ignorar.

sync=True

Sincronizar e comprometer 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 tempo limite.

Comprometa comentários

Ao cometer a configuração, você pode incluir um breve comentário para descrever a finalidade das mudanças comprometidas. Para registrar um comentário descrevendo as alterações, inclua o comment parâmetro e uma seqüência de mensagens na commit() lista de argumentos ou set() métodos, conforme apropriado. Por exemplo:

Incluir o comment argumento equivale à emissão do comando de commit comment modo de configuração no CLI. O comentário está logado no arquivo de registro do sistema e incluído no histórico de confirmação do dispositivo, que você pode visualizar emitindo o show system commit comando no CLI.

Confirmar confirmar

Para exigir que uma operação de confirmação seja confirmada dentro de um tempo especificado após o compromisso inicial, inclua o confirm=minutes argumento na lista de argumentos ou set() métodocommit(), conforme apropriado.

Se o confirmação não for confirmado dentro do prazo determinado, o dispositivo volta automaticamente para a configuração previamente comprometida e envia uma mensagem de transmissão para todos os usuários logados. O intervalo permitido é de 1 a 65.535 minutos. Você também pode especificar confirm=True para usar o tempo de reversão padrão de 10 minutos. Para confirmar a operação de confirmação, ligue para o commit() método.commit_check()

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

Comprometa detalhes

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

Comprometa a sincronização

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

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 correção sintactica do candidato e a compromete em ambos os mecanismos de roteamento. Para forçar a operação a commit synchronize ter sucesso mesmo que haja sessões de configuração abertas ou alterações de configuração não comprometidas no outro Mecanismo de Roteamento, use o force_sync=True argumento, o que faz com que o dispositivo encerre quaisquer sessões de configuração no outro Mecanismo de Roteamento antes de sincronizar e comprometer a configuração.

Confirmar e confirmar tempo de verificação

O tempo padrão para um RPC sair é de 30 segundos. Grandes mudanças de configuração podem exceder esse valor, fazendo com que uma operação de confirmação ou confirmação de verificação seja cronometrada antes que a configuração possa ser enviada, verificada e comprometida. Para acomodar mudanças de configuração que possam exigir uma verificação de confirmação ou um tempo de confirmação maior do que o intervalo de tempo limite padrão, incluir o timeout=seconds argumento na lista de argumentos ou set() métodos commit_check()commit() e definir o intervalo de intervalo de tempo para um valor apropriado. Por exemplo:

Ignorar avisos

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

Para obter mais informações sobre o uso do ignore_warning parâmetro, consulte Supressão de exceções do RpcError levantadas para avisos em aplicativos Junos PyEZ.