Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Descripción de Junos PyEZ

RESUMEN Utilice la biblioteca de Python de Junos PyEZ para desarrollar scripts de Python que administren dispositivos Junos de forma remota.

Descripción general de Junos PyEZ

Junos PyEZ es un microframework para Python que le permite administrar y automatizar dispositivos Junos. Junos PyEZ está diseñado para proporcionar las capacidades que un usuario tendría en la CLI de Junos OS en un entorno creado para tareas de automatización. Junos PyEZ no requiere amplios conocimientos de Junos OS ni de las API XML de Junos.

Junos PyEZ le permite administrar dispositivos Junos utilizando la familiaridad de Python. Sin embargo, no es necesario ser un programador experimentado para utilizar Junos PyEZ. Los no programadores pueden ejecutar rápidamente comandos simples en el modo interactivo de Python, y los programadores más experimentados pueden optar por crear programas más complejos, robustos y reutilizables para realizar tareas.

Junos PyEZ le permite conectarse directamente a un dispositivo mediante una conexión de consola serie, telnet o una sesión NETCONF a través de SSH. Además, Junos PyEZ también admite la conexión al dispositivo a través de una conexión Telnet o SSH a un servidor de consola conectado al puerto del CONSOLE dispositivo. Puede utilizar Junos PyEZ para configurar inicialmente un dispositivo nuevo o a cero que aún no esté configurado para el acceso remoto mediante una conexión de consola serie cuando esté conectado directamente al dispositivo o mediante telnet o SSH a través de un servidor de consola que esté conectado directamente al dispositivo.

Junos PyEZ proporciona utilidades de dispositivos, software y sistemas de archivos que le permiten realizar tareas operativas comunes en dispositivos Junos. Puede utilizar Junos PyEZ para:

  • Recuperar datos o información operativa de un dispositivo

  • Ejecutar llamadas a procedimiento remoto (RPC) disponibles a través de la API XML de Junos

  • Instalar o actualizar el software Junos OS

  • Reinicie o apague el dispositivo

  • Realizar tareas administrativas comunes, como copiar archivos y calcular sumas de comprobación

Junos PyEZ también le permite administrar las configuraciones de dispositivos Junos. Las utilidades de administración de configuración de Junos PyEZ le permiten:

  • Recuperar datos de configuración

  • Comparar configuraciones

  • Cargar y confirmar cambios de configuración

  • Revertir la configuración

  • Administrar la configuración de rescate

Junos PyEZ admite formatos estándar para datos de configuración, como texto ASCII, elementos XML de Junos, comandos de Junos OS set y notación de objetos JavaScript (JSON). También puede usar plantillas y archivos de plantilla Jinja2 para mayor flexibilidad y personalización. Además, puede usar tablas y vistas para definir recursos estructurados que puede usar para configurar un dispositivo mediante programación.

Las tablas y vistas de Junos PyEZ le permiten configurar dispositivos Junos y extraer información operativa específica o datos de configuración de los dispositivos. Las tablas y vistas se definen mediante archivos YAML simples que contienen asignaciones de pares clave-valor, por lo que no se requiere codificación compleja para utilizarlos. Puede utilizar Tablas y vistas para recuperar la configuración del dispositivo o el resultado de cualquier comando o RPC de Junos y, a continuación, extraer un subconjunto de información personalizado. Esto resulta útil cuando necesita recuperar información de algunos campos específicos que están incrustados en una salida de comandos extensa, como para el show route comando o show interfaces . Además, puede utilizar tablas y vistas para definir recursos de configuración estructurados. Junos PyEZ crea dinámicamente una clase de configuración para el recurso, lo que permite configurar el recurso mediante programación en un dispositivo.

Beneficios de Junos PyEZ

  • Proporciona una capa de abstracción que permite a los programadores de Python y a los no programadores administrar y automatizar fácilmente los dispositivos Junos.

  • Aumenta la eficiencia operativa al permitir a los operadores automatizar tareas comunes, reduciendo así la configuración manual y la administración de dispositivos.

  • Minimiza los errores y riesgos al permitir cambios de configuración estructurados de los recursos de destino.

Uso de Junos PyEZ en scripts de automatización

Junos OS y Junos OS Evolved incluyen el paquete de extensiones de Python y la biblioteca Junos PyEZ en la imagen de software de los dispositivos compatibles. Estas extensiones le permiten crear scripts de Python en caja que utilizan Junos PyEZ para ejecutar RPC y realizar tareas operativas y de configuración en el dispositivo. Junos PyEZ se admite en scripts de confirmación, evento, operación y SNMP; scripts del kit de herramientas de extensión (JET) de Juniper; y guiones de acción y traducción de YANG.

En la tabla 1 se resume la versión de Junos PyEZ disponible en dispositivos compatibles que ejecutan la versión de Junos OS dada. Por ejemplo, a partir de Junos OS versión 17.4R1, un script de Python en caja puede aprovechar las características de Junos PyEZ versión 2.1.4 y versiones anteriores.

Tabla 1: Versión de Junos PyEZ en dispositivos Junos compatibles

Versión de Junos OS

Versión de Junos PyEZ

16.1R3 a 17.3

1.3.1

17.4R1 a 19.3

2.1.4

19.4R1 y versiones posteriores

2.2.0

Para obtener más información acerca de la creación de scripts de automatización de Python en la caja, consulte Descripción de los scripts de automatización de Python para dispositivos que ejecutan Junos OS en la Guía del usuario de scripting de automatización de Junos OS.

Recursos de Junos PyEZ

Juniper Networks proporciona una serie de recursos de Junos PyEZ, que se describen en la Tabla 2.

Tabla 2: Recursos de Junos PyEZ

Recursos

Descripción

URL

Referencia de la API

Documentación detallada de los módulos de Junos PyEZ.

https://junos-pyez.readthedocs.org/

Día uno: Libro de recetas y repositorio de scripts de Junos PyEZ

Libro de recetas de automatización de red de Junos PyEZ con una guía de configuración, un sandbox de inicio y una presentación completa de scripts de automatización disponibles en 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

Documentación

Documentación de Junos PyEZ que contiene información detallada sobre la instalación de Junos PyEZ y el uso de Junos PyEZ para realizar tareas operativas y de configuración en dispositivos Junos.

https://www.juniper.net/documentation/product/us/en/junos-pyez

Repositorio de GitHub

Repositorio público para el proyecto Junos PyEZ. Este repositorio incluye el código fuente más reciente, instrucciones de instalación y resúmenes de notas de la versión para todas las versiones.

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

Foro de Grupos de Google

Foro que aborda preguntas y brinda soporte general para Junos PyEZ.

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

Scripts de ejemplo

Junos PyEZ scripts de ejemplo para empezar.

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

Foro de Stack Overflow

Foro que aborda preguntas y brinda soporte general para Junos PyEZ.

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