Entendendo o Junos PyEZ
RESUMO Use a biblioteca Junos PyEZ Python para desenvolver scripts de Python que gerenciam remotamente os dispositivos Junos.
Visão geral do Junos PyEZ
O Junos PyEZ é uma microframetra para Python que permite que você gerencie e automatize dispositivos Junos. O Junos PyEZ foi projetado para fornecer os recursos que um usuário teria no Junos OS CLI em um ambiente criado para tarefas de automação. O Junos PyEZ não requer amplo conhecimento do Junos OS ou das APIs Junos XML.
O Junos PyEZ permite que você gerencie dispositivos Junos usando a familiaridade do Python. No entanto, você não precisa ser um programador experiente para usar o Junos PyEZ. Os não-programadores podem executar rapidamente comandos simples no modo interativo Python, e programadores mais experientes podem optar por criar programas mais complexos, robustos e reutilizáveis para realizar tarefas.
O Junos PyEZ permite que você se conecte diretamente a um dispositivo usando uma conexão de console serial, telnet ou uma sessão NETCONF sobre SSH. Além disso, o Junos PyEZ também oferece suporte à conexão ao dispositivo por meio de uma conexão telnet ou SSH a um servidor de console conectado à porta do CONSOLE
dispositivo. Você pode usar o Junos PyEZ para configurar inicialmente um dispositivo novo ou zerado que ainda não está configurado para acesso remoto usando uma conexão de console serial quando você está diretamente conectado ao dispositivo ou usando telnet ou SSH através de um servidor de console que está diretamente conectado ao dispositivo.
O Junos PyEZ oferece serviços de dispositivo, software e sistema de arquivos que permitem que você realize tarefas operacionais comuns em dispositivos Junos. Você pode usar o Junos PyEZ para:
Recuperar fatos ou informações operacionais de um dispositivo
Execute chamadas de procedimento remoto (RPC) disponíveis através da API Junos XML
Instale ou atualize o software Junos OS
Reinicialize ou desativar o dispositivo
Execute tarefas administrativas comuns, como copiar arquivos e calcular checksums
O Junos PyEZ também permite que você gerencie as configurações dos dispositivos Junos. Os serviços de gerenciamento de configuração Junos PyEZ permitem que você:
Recuperar dados de configuração
Comparar configurações
Faça o upload e comprometa mudanças na configuração
Reverta a configuração
Gerencie a configuração de resgate
O Junos PyEZ oferece suporte a formatos padrão para dados de configuração, incluindo texto ASCII, elementos Junos XML, comandos Junos OS set
e Notação de objetos JavaScript (JSON). Você também pode usar modelos e arquivos de modelo Jinja2 para adicionar flexibilidade e personalização. Além disso, você pode usar tabelas e visualizações para definir recursos estruturados que você pode usar para configurar programáticamente um dispositivo.
Tabelas e visualizações do Junos PyEZ permitem que você configure dispositivos Junos e extraia informações operacionais específicas ou dados de configuração dos dispositivos. Você define tabelas e visualizações usando arquivos YAML simples que contêm mapeamentos de pares de valor-chave, para que nenhuma codificação complexa seja necessária para usá-las. Você pode usar tabelas e visualizações para recuperar a configuração do dispositivo ou a saída para qualquer comando ou RPC do Junos e, em seguida, extrair um subconjunto personalizado de informações. Isso é útil quando você precisa recuperar informações de alguns campos específicos que estão incorporados em uma saída de comando extensa, como para o comando ou show interfaces
para o show route
comando. Além disso, você pode usar tabelas e visualizações para definir recursos estruturados de configuração. O Junos PyEZ cria dinamicamente uma classe de configuração para o recurso, o que permite configurar programáticamente o recurso em um dispositivo.
Benefícios do Junos PyEZ
Oferece uma camada de abstração que permite que os programadores Python, bem como os não programadores, gerenciem e automatizem facilmente os dispositivos Junos.
Aumenta a eficiência operacional ao permitir que os operadores automatizem tarefas comuns, reduzindo assim a configuração manual e o gerenciamento de dispositivos.
Minimiza erros e riscos ao permitir mudanças estruturadas de configuração de recursos direcionados.
Usando o Junos PyEZ em scripts de automação
O Junos OS e o Junos OS Evolved incluem o pacote de extensões Python e a biblioteca Junos PyEZ na imagem de software em dispositivos suportados. Essas extensões permitem que você crie scripts de Python na caixa que usam o Junos PyEZ para executar RPCs e executar tarefas operacionais e de configuração no dispositivo. O Junos PyEZ é suportado em scripts de commit, event, op e SNMP; Scripts do Juniper Extension Toolkit (JET); e scripts de ação e tradução YANG.
A Tabela 1 resume a versão Junos PyEZ que está disponível em dispositivos suportados que executam a versão do Junos OS. Por exemplo, a partir do Junos OS Release 17.4R1, um script de Python na caixa pode aproveitar recursos no Junos PyEZ Release 2.1.4 e versões anteriores.
Versão do Junos OS |
Versão do Junos PyEZ |
---|---|
16,1R3 a 17,3 |
1.3.1 |
17,4R1 a 19,3 |
2.1.4 |
19.4R1 e posterior |
2.2.0 |
Para obter mais informações sobre a criação de scripts de automação do Onbox Python, veja Entenda os scripts de automação do Python para dispositivos que executam o Junos OS no Guia de usuário de scripts de automação do Junos OS.
Recursos do Junos PyEZ
A Juniper Networks fornece uma série de recursos do Junos PyEZ, descritos na Tabela 2.
Recurso |
Descrição |
URL |
---|---|---|
Referência de API |
Documentação detalhada para os módulos Junos PyEZ. |
|
Primeiro dia: Junos PyEZ Cookbook e repositório de scripts |
Livro de receitas de automação de rede Junos PyEZ com um guia de configuração, uma caixa de areia inicial e uma vitrine completa de scripts de automação que estão disponíveis no GitHub. |
https://www.juniper.net/documentation/en_US/day-one-books/DO_PyEZ_Cookbook.pdf https://github.com/Juniper/junosautomation/tree/master/pyez/PyEZ_Cookbook_2017 |
Documentação |
Documentação do Junos PyEZ contendo informações detalhadas sobre a instalação do Junos PyEZ e o uso do Junos PyEZ para realizar tarefas operacionais e de configuração em dispositivos Junos. |
https://www.juniper.net/documentation/product/us/en/junos-pyez |
Repositório do GitHub |
Repositório público para o projeto Junos PyEZ. Este repositório inclui o código fonte mais atual, instruções de instalação e resumos de notas de versão para todos os lançamentos. |
|
Fórum do Google Groups |
Fórum que aborda questões e oferece suporte geral para o Junos PyEZ. |
|
Scripts de exemplo |
Scripts de amostra do Junos PyEZ para você começar. |
|
Fórum Stack Overflow |
Fórum que aborda questões e oferece suporte geral para o Junos PyEZ. |