Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Utilisation de Junos PyEZ pour gérer la configuration de sauvegarde sur les équipements Junos

L’utilitaire Junos PyEZ jnpr.junos.utils.config.Config vous permet de gérer la configuration de sauvegarde sur les équipements Junos. Une configuration de sauvegarde vous permet de définir une configuration de fonctionnement connue ou une configuration avec un état connu que vous pouvez restaurer à tout moment. Vous utilisez la configuration de sauvegarde lorsque vous devez revenir à une configuration connue ou en dernier recours si votre configuration de routeur ou de commutateur et les fichiers de configuration de secours deviennent endommagés au-delà de la réparation.

Comment gérer la configuration de sauvegarde

L’utilitaire jnpr.junos.utils.config.Config vous permet d’enregistrer, de récupérer, de charger et de supprimer la configuration de sauvegarde sur un équipement Junos. Après avoir créé une instance de la Config classe, vous utilisez la rescue() méthode pour gérer la configuration de sauvegarde. Indiquez l’action à exécuter sur la configuration de sauvegarde en définissant le paramètre de la rescue() méthode action sur l’opération souhaitée. Les valeurs d’action valides incluent "save", "get"et "reload""delete". Les exemples suivants illustrent l’appel de méthode pour chaque rescue() action de méthode.

Enregistrer une configuration de sauvegarde

Lorsque vous créez une configuration de sauvegarde, l’équipement enregistre la configuration validée la plus récente en tant que configuration de sauvegarde. Pour enregistrer la configuration active comme configuration de sauvegarde, spécifiez action="save" dans la liste d’arguments de rescue() méthode. Cette opération remplace toute configuration de sauvegarde existante. Par exemple :

Récupération de la configuration de sauvegarde

Pour récupérer une configuration de sauvegarde existante, spécifiez action="get"et, éventuellement, indiquez le format sous "json", "text" ou "xml". Si vous ne spécifiez pas de format, le format par défaut est le texte. Si l’unité ne dispose pas d’une configuration de sauvegarde existante, la rescue() méthode renvoie None.

L’exemple suivant récupère et imprime la configuration de sauvegarde, le cas échéant.

Charger et valider la configuration de sauvegarde

Pour charger la configuration de sauvegarde existante dans la configuration du candidat, spécifiez action="reload". En l’absence de configuration de sauvegarde, l’opération de charge renvoie False. Après avoir chargé la configuration de sauvegarde, vous devez valider la configuration pour en faire la configuration active sur l’unité.

L’exemple suivant tente de charger la configuration de sauvegarde et, le cas échéant, la valide pour en faire la configuration active.

Supprimer la configuration de sauvegarde

Pour supprimer la configuration de sauvegarde existante, spécifiez action="delete".

Exemple : utiliser Junos PyEZ pour enregistrer une configuration de sauvegarde

Cet exemple utilise l’utilitaire Junos PyEZ jnpr.junos.utils.config.Config pour enregistrer une configuration de sauvegarde sur un équipement Junos, le cas échéant.

Exigences

Cet exemple utilise les composants matériels et logiciels suivants :

  • Serveur de gestion de configuration exécutant Python 3.5 ou version ultérieure et Junos PyEZ version 2.0 ou ultérieure

  • Équipement Junos activé NETCONF et compte utilisateur configuré avec les autorisations appropriées

  • Paire de clés publiques/privées SSH configurée pour l’utilisateur approprié sur le serveur et l’équipement Junos

Aperçu

Cet exemple présente une application Python qui utilise l’utilitaire Junos PyEZ Config pour enregistrer une configuration de sauvegarde sur l’équipement spécifié. Une configuration de sauvegarde vous permet de définir une configuration de fonctionnement connue ou une configuration avec un état connu que vous pouvez restaurer à tout moment. Lorsque vous créez une configuration de sauvegarde, l’équipement enregistre la configuration validée la plus récente en tant que configuration de sauvegarde.

L’application Python importe la Device classe, qui gère la connexion avec l’équipement Junos, la Config classe utilisée pour effectuer les opérations de configuration de sauvegarde sur l’équipement cible, ainsi que les exceptions requises à partir du jnpr.junos.exception module, qui contient les exceptions rencontrées lors de la gestion des équipements Junos. Après avoir créé l’instance Device pour l’équipement cible, la open() méthode établit une connexion et une session NETCONF avec l’équipement.

L’application détermine d’abord s’il existe une configuration de sauvegarde existante sur l’équipement cible. Si une configuration de sauvegarde existe, elle est imprimée en sortie standard. S’il n’y a pas de configuration de sauvegarde existante, l’application demande à l’équipement d’en créer une. Les rescue() paramètres de la méthode action sont définis pour "get" récupérer la configuration de sauvegarde existante et pour "save" créer une configuration de sauvegarde si celle-ci n’existe pas.

Après avoir effectué les opérations de configuration de sauvegarde, l’application appelle la close() méthode pour mettre fin à la session et à la connexion NETCONF. L’application inclut du code pour le traitement des exceptions, par exemple ConnectError pour les erreurs qui se produisent lors de la connexion à l’équipement. L’application inclut également du code pour gérer toutes les exceptions supplémentaires qui peuvent se produire.

Configuration

Créer l’application PyEZ Junos

Procédure étape par étape

Pour créer une application Python qui utilise Junos PyEZ pour enregistrer une configuration de sauvegarde, si celle-ci n’existe pas déjà sur l’équipement Junos :

  1. Importer tous les modules, classes et objets requis.

  2. Incluez toutes les variables requises, qui incluent par exemple le nom d’hôte de l’équipement géré.

  3. Créez une définition de fonction et un main() appel de fonction, et placez les autres instructions dans la définition.

  4. Créez une instance de la Device classe et indiquez le nom de l’hôte et tous les paramètres requis pour cette connexion spécifique.

  5. Ouvrez une connexion et établissez une session NETCONF avec l’équipement.

  6. Créez une instance de l’utilitaire Config .

  7. Imprimez la configuration de sauvegarde existante ou enregistrez-en une si aucune n’existe.

  8. Terminez la session NETCONF et fermez la connexion avec l’équipement.

Résultats

Sur le serveur de gestion de la configuration, vérifiez l’application terminée. Si l’application n’affiche pas le code prévu, répétez les instructions de cet exemple pour corriger l’application.

Exécuter le code PyEZ Junos

Exécution de l’application

Pour exécuter le code PyEZ Junos :

  • Sur le serveur de gestion de la configuration, exécutez l’application.

    Dans cet exemple, l’équipement cible ne dispose pas d’une configuration de sauvegarde existante. L’équipement en enregistre donc une. Si vous exécutez l’application une seconde fois, elle sort la configuration de sauvegarde qui a été enregistrée pendant l’exécution initiale.

Vérification

Vérifier la configuration

But

Vérifiez que la configuration de sauvegarde existe sur l’équipement Junos.

Action

Connectez-vous à l’équipement Junos et affichez la configuration de sauvegarde. Par exemple :

Dépannage

Résoudre les erreurs d’action non prises en charge

Problème

Le code PyEZ Junos génère un message d’erreur indiquant une action non prise en charge.

Ce message d’erreur est généré lorsque l’argument de rescue() méthode action contient une valeur non valide.

Solution

Définissez l’argument de rescue() la méthode action sur une action valide, qui inclut "save", "get""reload"et "delete".