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.
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.
Recursos |
Descripción |
URL |
---|---|---|
Referencia de la API |
Documentación detallada de los módulos de Junos PyEZ. |
|
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. |
|
Foro de Grupos de Google |
Foro que aborda preguntas y brinda soporte general para Junos PyEZ. |
|
Scripts de ejemplo |
Junos PyEZ scripts de ejemplo para empezar. |
|
Foro de Stack Overflow |
Foro que aborda preguntas y brinda soporte general para Junos PyEZ. |