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 gerenciar a configuração de resgate em dispositivos Junos

O utilitário Junos PyEZ jnpr.junos.utils.config.Config permite que você gerencie a configuração de resgate em dispositivos Junos. Uma configuração de resgate permite definir uma configuração de trabalho conhecida ou uma configuração com um estado conhecido que você pode restaurar a qualquer momento. Você usa a configuração de resgate quando precisa reverter para uma configuração conhecida ou como último recurso se a configuração do roteador ou switch e os arquivos de configuração de backup ficarem danificados sem reparo.

Como gerenciar a configuração de resgate

O jnpr.junos.utils.config.Config utilitário permite que você economize, recupere, carregue e exclua a configuração de resgate em um dispositivo Junos. Depois de criar uma instância da Config classe, você usa o rescue() método para manejar a configuração de resgate. Especifique a ação para realizar na configuração de resgate definindo o parâmetro do rescue() método action para a operação desejada. Os valores de ação válidos incluem"save", "get"e"reload""delete". Os exemplos a seguir ilustram a chamada do método para cada rescue() ação de método.

Salvar uma configuração de resgate

Quando você cria uma configuração de resgate, o dispositivo economiza a configuração mais recentemente comprometida como a configuração de resgate. Para salvar a configuração ativa como configuração de resgate, especifique action="save" na lista de argumentos do rescue() método. Esta operação substitui qualquer configuração de resgate existente. Por exemplo:

Recupere a configuração de resgate

Para recuperar uma configuração de resgate existente, especifique action="get"e especifique opcionalmente o formato como "json", "text" ou "xml". Se você não especificar um formato, o formato padrão é o texto. Se o dispositivo não tiver uma configuração de resgate existente, o rescue() método retorna None.

O exemplo a seguir recupera e imprime a configuração de resgate, se houver uma.

Carregue e cometa a configuração de resgate

Para carregar a configuração de resgate existente na configuração do candidato, especifique action="reload". Se não houver configuração de resgate, a operação de carga retorna False. Após o carregamento da configuração de resgate, você deve comprometer a configuração para torná-la a configuração ativa do dispositivo.

O exemplo a seguir tenta carregar a configuração de resgate e, se houver, compromete-a a torná-la a configuração ativa.

Exclua a configuração de resgate

Para excluir a configuração de resgate existente, especifique action="delete".

Exemplo: use o Junos PyEZ para salvar uma configuração de resgate

Este exemplo usa o utilitário Junos PyEZ jnpr.junos.utils.config.Config para salvar uma configuração de resgate em um dispositivo Junos, se alguém ainda não existir.

Requisitos

Este exemplo usa os seguintes componentes de hardware e software:

  • Servidor de gerenciamento de configuração executando Python 3.5 ou posterior e Junos PyEZ Versão 2.0 ou posterior

  • Dispositivo Junos com NETCONF habilitado e uma conta de usuário configurada com permissões apropriadas

  • Par de chave pública/privada SSH configurado para o usuário apropriado no servidor e dispositivo Junos

Visão geral

Este exemplo apresenta um aplicativo Python que usa o utilitário Junos PyEZ Config para salvar uma configuração de resgate no dispositivo especificado. Uma configuração de resgate permite definir uma configuração de trabalho conhecida ou uma configuração com um estado conhecido que você pode restaurar a qualquer momento. Quando você cria uma configuração de resgate, o dispositivo economiza a configuração mais recentemente comprometida como a configuração de resgate.

O aplicativo Python importa a Device classe, que lida com a conexão com o dispositivo Junos; a Config classe, que é usada para realizar as operações de configuração de resgate no dispositivo alvo; e exigiu exceções do jnpr.junos.exception módulo, que contém exceções encontradas ao gerenciar dispositivos Junos. Depois de criar a Device instância para o dispositivo alvo, o open() método estabelece uma sessão de conexão e NETCONF com o dispositivo.

O aplicativo determina primeiro se existe uma configuração de resgate existente no dispositivo alvo. Se houver uma configuração de resgate, ela será impressa para saída padrão. Se não houver configuração de resgate existente, o aplicativo instrui o dispositivo a criar uma. O rescue() parâmetro do método action é definido para "get" recuperar a configuração de resgate existente e "save" criar uma configuração de resgate se uma não existir.

Após realizar as operações de configuração de resgate, o aplicativo chama o close() método para encerrar a sessão e a conexão NETCONF. O aplicativo inclui código para lidar com exceções, como ConnectError erros que ocorrem ao se conectar ao dispositivo. A aplicação também inclui código para lidar com quaisquer exceções adicionais que possam ocorrer.

Configuração

Crie o aplicativo Junos PyEZ

Procedimento passo a passo

Para criar um aplicativo Python que usa o Junos PyEZ para salvar uma configuração de resgate, caso ainda não exista no dispositivo Junos:

  1. Importe quaisquer módulos, classes e objetos necessários.

  2. Inclua quaisquer variáveis necessárias, que, por exemplo, incluem o nome de host do dispositivo gerenciado.

  3. Crie uma main() definição de função e chamada de função e coloque as declarações restantes dentro da definição.

  4. Crie uma instância da Device classe e forneça o nome de host e quaisquer parâmetros necessários para essa conexão específica.

  5. Abra uma conexão e estabeleça uma sessão NETCONF com o dispositivo.

  6. Crie uma instância do Config utilitário.

  7. Imprima a configuração de resgate existente ou reserve uma caso nenhuma exista.

  8. Termine a sessão NETCONF e feche a conexão com o dispositivo.

Resultados

No servidor de gerenciamento de configuração, revise a aplicação concluída. Se a aplicação não exibir o código pretendido, repita as instruções neste exemplo para corrigir a aplicação.

Execute o Junos PyEZ Code

Execute o aplicativo

Para executar o código Junos PyEZ:

  • No servidor de gerenciamento de configuração, execute o aplicativo.

    Neste exemplo, o dispositivo alvo não tem uma configuração de resgate existente, então o dispositivo economiza um. Se você executar o aplicativo uma segunda vez, ele saída a configuração de resgate que foi salva durante a execução inicial.

Verificação

Verifique a configuração

Propósito

Verifique se a configuração de resgate existe no dispositivo Junos.

Ação

Faça login no dispositivo Junos e veja a configuração de resgate. Por exemplo:

Solucionando problemas

Solucionar erros de ação sem suporte

Problema

O código Junos PyEZ gera uma mensagem de erro indicando uma ação sem suporte.

Esta mensagem de erro é gerada quando o argumento do rescue() método action contém um valor inválido.

Solução

Definir o argumento do rescue() método para uma ação válida, que inclui"save", "get"e "delete""reload"action .