Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Entendendo o Junos PyEZ

Use a biblioteca Python do Junos PyEZ para desenvolver scripts Python que gerenciam remotamente dispositivos Junos.

Visão geral do Junos PyEZ

O Junos PyEZ é um microframework para Python que permite gerenciar e automatizar dispositivos Junos. O Junos PyEZ foi projetado para fornecer os recursos que um usuário teria na CLI do Junos OS em um ambiente criado para tarefas de automação. Junos PyEZ não requer amplo conhecimento de Junos OS ou das Junos APIs 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 os programadores mais experientes podem optar por criar programas mais complexos, robustos e reutilizáveis para executar 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 console conectado à porta do 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 utilitários para dispositivos, software e sistema de arquivos que permitem realizar 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 por meio da API XML do Junos

  • Instalar ou atualizar o software do Junos OS

  • Reinicie ou desligue o dispositivo

  • Execute tarefas administrativas comuns, como copiar arquivos e calcular somas de verificação

O Junos PyEZ também permite que você gerencie as configurações do dispositivo Junos. Os utilitários de gerenciamento de configuração do Junos PyEZ permitem que você:

  • Recuperar dados de configuração

  • Comparar configurações

  • Carregar e confirmar alterações de configuração

  • Reverta a configuração

  • Gerenciar a configuração de resgate

O Junos PyEZ oferece suporte a formatos padrão para dados de configuração, incluindo texto ASCII, elementos XML do Junos, comandos do Junos OS set e JavaScript Object Notation (JSON). Você também pode usar modelos Jinja2 e arquivos de modelo para maior flexibilidade e personalização. Além disso, você pode usar tabelas e exibições para definir recursos estruturados que podem ser usados para configurar programaticamente um dispositivo.

As 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 exibições usando arquivos YAML simples que contêm mapeamentos de pares de chave-valor, portanto, nenhuma codificação complexa é necessária para usá-los. Você pode usar tabelas e visualizações para recuperar a configuração do dispositivo ou a saída de qualquer comando ou RPC do Junos e depois extrair um subconjunto personalizado de informações. Isso é útil quando você precisa recuperar informações de alguns campos específicos que são incorporados na saída de comando extensa, como para o show route comando ou show interfaces . Além disso, você pode usar tabelas e exibições para definir recursos de configuração estruturados. O Junos PyEZ cria dinamicamente uma classe de configuração para o recurso, o que permite configurar programaticamente o recurso em um dispositivo.

Benefícios do Junos PyEZ

  • Fornece uma camada de abstração que permite que programadores Python, bem como não programadores, gerenciem e automatizem facilmente os dispositivos Junos.

  • Aumenta a eficiência operacional, permitindo que os operadores automatizem tarefas comuns, reduzindo assim a configuração manual e o gerenciamento de dispositivos.

  • Minimiza erros e riscos, permitindo alterações de configuração estruturadas de recursos direcionados.

Uso do 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 compatíveis. Essas extensões permitem que você crie scripts Python on-box que usam o Junos PyEZ para executar RPCs e realizar tarefas operacionais e de configuração no dispositivo. O Junos PyEZ é compatível com 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 do Junos PyEZ que está disponível em dispositivos compatíveis com a versão do Junos OS. Por exemplo, a partir do Junos OS Release 17.4R1, um script Python on-box pode aproveitar os recursos do Junos PyEZ Release 2.1.4 e versões anteriores.

Tabela 1: Versão do Junos PyEZ em dispositivos Junos compatíveis

Versão do Junos OS

Versão do Junos PyEZ

16.1R3 a 17.3

1.3.1

17.4D1 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 Python na caixa, consulte Entender os scripts de automação Python para dispositivos que executam o Junos OS no Guia do usuário de scripts de automação do Junos OS.

Recursos do Junos PyEZ

A Juniper Networks oferece vários recursos do Junos PyEZ, que são descritos na Tabela 2.

Tabela 2: Recursos do Junos PyEZ

Recurso

Descrição

URL

Referência da API

Documentação detalhada para os módulos do Junos PyEZ.

https://junos-pyez.readthedocs.io/en/latest/

Dia 1: Livro de receitas do Junos PyEZ e repositório de scripts

Livro de receitas de automação de rede Junos PyEZ com um guia de configuração, uma sandbox de inicialização e uma demonstração completa de scripts de automaçã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 GitHub

Repositório público para o projeto Junos PyEZ. Esse repositório inclui o código-fonte mais atual, instruções de instalação e resumos de notas de versão para todas as versões.

https://github.com/Juniper/py-junos-eznc/

Fórum de Grupos do Google

Fórum que aborda perguntas e oferece suporte geral para o Junos PyEZ.

https://groups.google.com/group/junos-python-ez

Scripts de exemplo

Scripts de exemplo do Junos PyEZ para você começar.

https://github.com/Juniper/junosautomation/tree/master/pyez

Fórum do Stack Overflow

Fórum que aborda perguntas e oferece suporte geral para o Junos PyEZ.

https://stackoverflow.com/questions/tagged/pyez