Comprendre Junos PyEZ
RÉSUMÉ 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 fonctionnalités qu’un utilisateur pourrait avoir sur l’interface de ligne de commande Junos OS dans un environnement conçu pour les tâches d’automatisation. Junos PyEZ ne nécessite aucune connaissance approfondie de Junos OS ou des API XML 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 périphérique à l’aide d’une connexion de console série, telnet ou d’une session NETCONF via 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’appareil. Vous pouvez utiliser Junos PyEZ pour configurer initialement un périphérique nouveau ou remis à zéro qui n’est pas encore configuré pour l’accès à distance, soit en utilisant une connexion de console série lorsque vous êtes directement connecté au périphérique, soit en utilisant telnet ou SSH via un serveur de console directement connecté au périphérique.
Junos PyEZ fournit des utilitaires de périphériques, de logiciels et de systèmes 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écuter des appels de procédure à distance (RPC) disponibles via l’API Junos XML
Installer ou mettre à niveau le logiciel Junos OS
Redémarrez ou éteignez l’appareil
Effectuer des tâches administratives courantes telles que la copie de fichiers et le calcul de sommes de contrôle
Junos PyEZ vous permet également de gérer les configurations des équipements Junos. Les utilitaires de gestion de la configuration Junos PyEZ vous permettent d’effectuer les opérations suivantes :
Récupérer les données de configuration
Comparer les configurations
Charger et valider les modifications de configuration
Restaurer 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 Jinja2 et des fichiers de modèles pour plus de flexibilité et de personnalisation. En outre, vous pouvez utiliser des tables et des vues pour définir des ressources structurées que vous pouvez utiliser pour configurer un périphérique par programmation.
Les tableaux 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 à partir de ces équipements. Vous définissez des tables et des 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 tables et 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 personnalisé d’informations. 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 ou show interfaces
. En outre, vous pouvez utiliser des tables 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 la configurer par programmation sur un équipement.
Avantages de Junos PyEZ
Fournit une couche d’abstraction qui permet aux programmeurs Python et aux non-programmeurs de gérer et d’automatiser facilement les équipements Junos.
Augmente 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 équipements.
Réduit les erreurs et les risques en permettant des changements de configuration structurés des ressources ciblées.
Utilisation de Junos PyEZ dans les 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 sur les périphériques 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. les scripts Juniper Extension Toolkit (JET) ; et des scripts d’action et de traduction YANG.
Le Tableau 1 récapitule la version de Junos PyEZ disponible sur les équipements pris en charge exécutant la version de Junos OS donnée. Par exemple, à partir de Junos OS version 17.4R1, un script Python intégré peut exploiter les fonctionnalités de Junos PyEZ version 2.1.4 et versions antérieures.
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 de scripts d’automatisation Python pour les périphériques exécutant Junos OS dans le Guide de l’utilisateur des scripts d’automatisation Junos OS.
Ressources Junos PyEZ
Juniper Networks fournit un certain nombre de ressources Junos PyEZ, décrites dans le Tableau 2.
Ressource |
Description |
URL |
---|---|---|
Référence API |
Documentation détaillée pour les modules Junos PyEZ. |
|
Day One : Livre de recettes et référentiel de scripts Junos PyEZ |
Livre de recettes sur l’automatisation du réseau Junos PyEZ avec un guide d’installation, un bac à sable de démarrage 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 |
Documentation Junos PyEZ contenant des informations détaillées sur l’installation de Junos PyEZ et son utilisation pour effectuer des tâches opérationnelles et de configuration sur les équipements Junos. |
https://www.juniper.net/documentation/product/us/en/junos-pyez |
Référentiel GitHub |
Référentiel public pour le projet Junos PyEZ. Ce référentiel comprend le code source le plus récent, les instructions d’installation et les résumés des notes de mise à jour pour toutes les versions. |
|
Forum Google Groupes |
Forum qui répond aux questions et fournit une assistance générale pour Junos PyEZ. |
|
Exemples de scripts |
Junos PyEZ exemples de scripts pour vous aider à démarrer. |
|
Forum Stack Overflow |
Forum qui répond aux questions et fournit une assistance générale pour Junos PyEZ. |