Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Comprendre Junos PyEZ

Utilisez la bibliothèque Python Junos PyEZ pour développer des scripts Python qui gèrent les équipements Junos à distance.

Présentation de Junos PyEZ

Junos PyEZ est un microframework pour Python qui vous permet de gérer et d’automatiser les équipements Junos. Junos PyEZ est conçu pour fournir les capacités qu’un utilisateur aurait sur la CLI de Junos OS dans un environnement conçu pour les tâches d’automatisation. Junos PyEZ ne nécessite pas une connaissance approfondie de Junos OS ou des API XML de Junos.

Junos PyEZ vous permet de gérer les équipements Junos à l’aide de Python. Cependant, vous n’avez pas besoin d’être un programmeur expérimenté pour utiliser Junos PyEZ. Les non-programmeurs peuvent rapidement exécuter des commandes simples en mode interactif Python, et les programmeurs plus expérimentés peuvent choisir de créer des programmes plus complexes, robustes et réutilisables pour effectuer des tâches.

Junos PyEZ vous permet de vous connecter directement à un équipement à l’aide d’une connexion de console série, de Telnet ou d’une session NETCONF sur SSH. En outre, Junos PyEZ prend également en charge la connexion à l’équipement via une connexion telnet ou SSH à un serveur de console connecté au port de CONSOLE l’équipement. Vous pouvez utiliser Junos PyEZ pour configurer initialement un nouvel équipement ou un équipement mis à zéro qui n’est pas encore configuré pour l’accès à distance, soit à l’aide d’une connexion de console série lorsque vous êtes directement connecté à l’équipement, soit à l’aide de telnet ou SSH via un serveur de console directement connecté à l’équipement.

Junos PyEZ fournit des utilitaires d’équipement, de logiciel et de système de fichiers qui vous permettent d’effectuer des tâches opérationnelles courantes sur les équipements Junos. Vous pouvez utiliser Junos PyEZ pour :

  • Récupérer des faits ou des informations opérationnelles à partir d’un appareil

  • Exécutez des appels de procédure à distance (RPC) disponibles via l’API XML de Junos

  • Installer ou mettre à niveau le logiciel Junos OS

  • Redémarrez ou éteignez l’appareil

  • Effectuer des tâches administratives courantes telles que copier des fichiers et calculer des sommes de contrôle

Junos PyEZ vous permet également de gérer les configurations des équipements Junos. Les utilitaires de gestion de configuration Junos PyEZ vous permettent de :

  • Récupérer les données de configuration

  • Comparer les configurations

  • Télécharger et valider les modifications de configuration

  • Annuler la configuration

  • Gérer la configuration de sauvetage

Junos PyEZ prend en charge les formats standard pour les données de configuration, notamment le texte ASCII, les éléments XML Junos, les commandes Junos OS set et JavaScript Object Notation (JSON). Vous pouvez également utiliser des modèles et des fichiers modèles Jinja2 pour plus de flexibilité et de personnalisation. En outre, vous pouvez utiliser les tableaux et les vues pour définir des ressources structurées que vous pouvez utiliser pour configurer un périphérique par programmation.

Les tables et vues Junos PyEZ vous permettent à la fois de configurer des équipements Junos et d’extraire des informations opérationnelles ou des données de configuration spécifiques des équipements. Vous définissez les tables et les vues à l’aide de fichiers YAML simples qui contiennent des mappages de paires clé-valeur, de sorte qu’aucun codage complexe n’est nécessaire pour les utiliser. Vous pouvez utiliser les tableaux et les vues pour récupérer la configuration de l’appareil ou la sortie d’une commande Junos ou d’un RPC, puis extraire un sous-ensemble d’informations personnalisé. Ceci est utile lorsque vous avez besoin de récupérer des informations à partir de quelques champs spécifiques qui sont incorporés dans une sortie de commande étendue, comme pour la show route commande or show interfaces . En outre, vous pouvez utiliser des tableaux et des vues pour définir des ressources de configuration structurées. Junos PyEZ crée dynamiquement une classe de configuration pour la ressource, ce qui vous permet de configurer la ressource par programmation sur un équipement.

Avantages de Junos PyEZ

  • Fournit une couche d’abstraction qui permet aux programmeurs Python comme aux non-programmeurs de gérer et d’automatiser facilement les équipements Junos.

  • Accroît l’efficacité opérationnelle en permettant aux opérateurs d’automatiser les tâches courantes, réduisant ainsi la configuration et la gestion manuelles des appareils.

  • Réduit les erreurs et les risques en permettant des changements de configuration structurés des ressources ciblées.

Utilisation de Junos PyEZ dans des scripts d’automatisation

Junos OS et Junos OS Evolved incluent le package d’extensions Python et la bibliothèque Junos PyEZ dans l’image logicielle des équipements pris en charge. Ces extensions vous permettent de créer des scripts Python intégrés qui utilisent Junos PyEZ pour exécuter des RPC et effectuer des tâches opérationnelles et de configuration sur l’équipement. Junos PyEZ est pris en charge dans les scripts de validation, d’événement, d’opération et SNMP ; scripts Juniper Extension Toolkit (JET) ; et des scripts d’action et de traduction YANG.

Le Tableau 1 résume la version de Junos PyEZ disponible sur les équipements pris en charge exécutant la version donnée de Junos OS. Par exemple, à partir de la version 17.4R1 de Junos OS, un script Python intégré peut tirer parti des fonctionnalités de Junos PyEZ version 2.1.4 et des versions antérieures.

Tableau 1 : version de Junos PyEZ sur les équipements Junos pris en charge

Version de Junos OS

Junos PyEZ Version

16.1R3 à 17.3

1.3.1

17.4R1 à 19.3

2.1.4

19.4R1 et versions ultérieures

2.2.0

Pour plus d’informations sur la création de scripts d’automatisation Python intégrés, consultez Présentation des scripts d’automatisation Python pour les périphériques exécutant Junos OS dans le Guide de l’utilisateur des scripts d’automatisation de Junos OS.

Ressources Junos PyEZ

Juniper Networks fournit un certain nombre de ressources Junos PyEZ, qui sont décrites dans le tableau 2.

Tableau 2 : ressources Junos PyEZ

Ressource

Descriptif

URL (en anglais)

Référence API

Documentation détaillée des modules Junos PyEZ.

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

Day One : Livre de recettes Junos PyEZ et référentiel de scripts

Livre de recettes sur l’automatisation du réseau Junos PyEZ avec un guide d’installation, un bac à sable pour les start-ups et une présentation complète des scripts d’automatisation disponibles sur 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

Documentation (en anglais)

Documentation de Junos PyEZ contenant des informations détaillées sur l’installation de Junos PyEZ et l’utilisation de Junos PyEZ pour effectuer des tâches opérationnelles et de configuration sur les équipements Junos.

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

Dépôt GitHub

Dépôt public pour le projet Junos PyEZ. Ce dépôt comprend le code source le plus récent, les instructions d’installation et les résumés des notes de version pour toutes les versions.

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

Forum Google Groupes

Forum qui répond aux questions et fournit une assistance générale pour Junos PyEZ.

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

Exemples de scripts

Exemples de scripts Junos PyEZ pour vous aider à démarrer.

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

Forum Stack Overflow

Forum qui répond aux questions et fournit une assistance générale pour Junos PyEZ.

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