Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Exemple : générer des modifications de configuration persistantes et transitoires à l’aide de scripts de validation

Exemple : générer un changement persistant

Les scripts de validation Junos OS permettent aux utilisateurs de personnaliser le processus de validation de leurs configurations en fonction de leurs propres pratiques et stratégies et d’appliquer des règles de configuration personnalisées pendant le processus de validation. Cet exemple illustre un script de validation qui génère une modification persistante qui ajoute l’instruction family mpls dans la configuration des interfaces SONET/SDH lorsque l’instruction n’est pas déjà incluse dans la configuration. Si vous ne configurez pas explicitement la famille de protocoles MPLS sur une interface, l’interface n’est pas activée pour les applications MPLS.

Exigences

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

  • Équipement exécutant Junos OS avec une ou plusieurs interfaces SONET/SDH.

  • Junos OS Version 16.1R3 ou version ultérieure en cas d’utilisation d’un script Python.

Script de présentation et de validation

Le script de validation de cet exemple détecte toutes les interfaces SONET/SDH dont l’interface logique est configurée, mais dont l’instruction family mpls n’est pas configurée. Pour ces interfaces, le script ajoute l’instruction family mpls à la configuration de l’interface en tant que changement persistant au niveau de la [edit interfaces interface-name unit logical-unit-number] hiérarchie. Le script est affiché dans SLAX, XSLT et Python.

Les versions SLAX et XSLT du script de validation génèrent la modification persistante à l’aide du jcs:emit-change modèle, qui est un modèle d’assistance contenu dans le fichier d’importation junos.xsl . Le tag paramètre du jcs:emit-change modèle est omis, ce qui oblige le script à émettre la modification en tant que modification persistante. Le content paramètre du jcs:emit-change modèle inclut les instructions de configuration à ajouter en tant que modification persistante. Le message paramètre du jcs:emit-change modèle inclut le message d’avertissement à afficher dans la CLI, vous informant que la configuration a été modifiée.

La version Python du script de validation génère la modification persistante à l’aide de la jcs.emit_change() fonction, qui est importée à partir du jcs module. Le script Python indique qu’il s’agit d’une modification persistante en passant l’argument positionnel « change ».

Syntaxe XSLT

Syntaxe SLAX

Syntaxe Python

Configuration

Procédure

Procédure étape par étape

Pour télécharger, activer et tester le script.

  1. Copiez le script dans un fichier texte, nommez le fichier mpls.xsl, mpls.slax ou mpls.py le cas échéant, et copiez-le dans le répertoire /var/db/scripts/commit/ sur l’équipement.

    Note:

    Les scripts Python non signés doivent appartenir à la classe de connexion Junos OS super-user ou à un utilisateur racine, et seul le propriétaire du fichier peut avoir l’autorisation d’écrire le fichier.

  2. En mode configuration, configurez l’instruction file et le nom du script au niveau de la [edit system scripts commit] hiérarchie.

  3. Si le script est écrit en Python, activez l’exécution de scripts Python non signés.

    Note:

    Configurez l’instruction language python3 pour utiliser Python 3 pour exécuter des scripts Python, ou configurez l’instruction language python pour utiliser Python 2.7 pour exécuter des scripts Python. Pour plus d’informations, consultez la langue.

  4. Pour tester que le script de validation génère correctement la modification persistante, assurez-vous que la configuration contient la condition qui a provoqué la modification. Pour tester ce script, assurez-vous que l’instruction family mpls n’est pas incluse au niveau de la [edit interfaces so-fpc/pic/port unit logical-unit-number] hiérarchie pour au moins une interface SONET/SDH.

  5. Émettez la commit check commande pour visualiser une trace du traitement de script de validation pour vérifier que le script ajoutera la modification persistante à la configuration du candidat. La commit check commande vérifie la syntaxe de la configuration avant une validation, mais elle ne valide pas les modifications.

    Le script de validation de cet exemple produit un message pour chaque modification qu’il apporte. Utilisez la commit check commande pour afficher un aperçu de ces messages pour déterminer si le script va mettre à jour la configuration avec l’instruction family mpls pour les interfaces appropriées.

    Envoyez la commit check | display xml commande pour afficher la version au format XML du message. L’exemple de sortie indique que le script ajoutera l’instruction family mpls à la configuration de l’interface so-2/3/4.0 pendant l’opération de validation.

  6. Pour afficher une trace détaillée du traitement des scripts de validation, émettez la commit check | display detail commande. Dans l’exemple de sortie, une modification persistante sera chargée dans la configuration pendant l’opération de validation.

  7. Après avoir vérifié que le script produit les modifications correctes, exécutez la commit commande pour lancer l’opération de validation et exécuter le script.

Vérification

Vérification de la configuration

But

Vérifiez que les modifications correctes sont intégrées à la configuration.

Action

Après avoir exécuté l’opération de validation, consultez la configuration en publiant la commande du show interfaces mode de configuration. Si la famille de protocoles MPLS n’est pas activée sur une ou plusieurs interfaces SONET/SDH avant l’exécution du script, le résultat est similaire au suivant :

Exemple : générer un changement transitoire

Cet exemple utilise un script de validation pour définir l’encapsulation PPP sur toutes les interfaces SONET/SDH avec la famille de protocoles IPv4 activée. Les modifications sont ajoutées en tant que modifications transitoires.

Exigences

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

  • Équipement exécutant Junos OS avec une ou plusieurs interfaces SONET/SDH.

  • Junos OS Version 16.1R3 ou version ultérieure en cas d’utilisation d’un script Python.

Script de présentation et de validation

Le script de validation de cet exemple trouve toutes les interfaces SONET/SDH avec la famille de protocoles IPv4 activée dans la configuration et ajoute l’instruction encapsulation ppp à la configuration de l’interface. Le script de validation génère une modification transitoire, qui ajoute la modification à la configuration de paiement, mais pas à la configuration du candidat. Le script est affiché dans SLAX, XSLT et Python.

Les versions SLAX et XSLT du script de validation génèrent la modification transitoire à l’aide du jcs:emit-change modèle, qui est un modèle d’aide contenu dans le fichier d’importation junos.xsl . Le tag paramètre du modèle a la jcs:emit-change valeur transient-change, qui ordonne au script d’émettre la modification sous la forme d’une modification transitoire plutôt que persistante. Le content paramètre du jcs:emit-change modèle inclut les instructions de configuration à ajouter en tant que modification transitoire.

La version Python du script de validation génère le changement transitoire à l’aide de la jcs.emit_change() fonction, qui est importée à partir du jcs module. Le script Python indique qu’il s’agit d’une modification transitoire en passant l’argument positionnel « transitoire-changement ».

Syntaxe XSLT

Syntaxe SLAX

Syntaxe Python

Configuration

Procédure

Procédure étape par étape

Pour télécharger, activer et tester le script.

  1. Copiez le script dans un fichier texte, nommez le fichier encap-ppp.xsl, encap-ppp.slax ou encap-ppp.py le cas échéant, puis copiez-le dans le répertoire /var/db/scripts/commit/ sur l’équipement.

    Note:

    Les scripts Python non signés doivent appartenir à la classe de connexion Junos OS super-user ou à un utilisateur racine, et seul le propriétaire du fichier peut avoir l’autorisation d’écrire le fichier.

  2. En mode configuration, configurez l’instruction file et le nom du script au niveau de la [edit system scripts commit] hiérarchie.

  3. Configurez l’instruction allow-transients pour permettre aux scripts de validation de charger les modifications transitoires dans la configuration de caisse.

  4. Si le script est écrit en Python, activez l’exécution de scripts Python non signés.

    Note:

    Configurez l’instruction language python3 pour utiliser Python 3 pour exécuter des scripts Python, ou configurez l’instruction language python pour utiliser Python 2.7 pour exécuter des scripts Python. Pour plus d’informations, consultez la langue.

  5. Pour tester que le script de validation génère correctement la modification transitoire, assurez-vous que la configuration contient la condition qui déclenche la modification. Assurez-vous que l’instruction encapsulation ppp n’est pas incluse au niveau de la [edit interfaces so-fpc/pic/port] hiérarchie pour au moins une interface SONET/SDH.

  6. Émettez la commit check commande pour visualiser une trace du traitement de script de validation pour vérifier que le script ajoutera la modification transitoire à la configuration de paiement. La commit check commande vérifie la syntaxe de la configuration avant une validation, mais elle ne valide pas les modifications.

    Émettez la commit check | display detail commande pour afficher une trace détaillée du traitement des scripts de validation. Dans l’exemple de sortie, deux modifications transitoires sont chargées dans la configuration de paiement.

  7. Après avoir vérifié que le script produit les modifications correctes, exécutez la commit commande pour lancer l’opération de validation et exécuter le script.

Vérification

Vérification de la configuration

But

Vérifiez que les modifications correctes sont intégrées à la configuration de paiement. S’il existe une ou plusieurs interfaces SONET/SDH avec la famille de protocoles IPv4 activée, vous devriez voir l’instruction encapsulation ppp ajoutée comme une modification transitoire à la hiérarchie d’interfaces.

Action

Pour afficher la configuration en cas de modifications transitoires, passez la commande du mode de show interfaces | display commit-scripts configuration. La show interfaces | display commit-scripts commande affiche toutes les instructions de la configuration, y compris celles générées par des modifications transitoires. S’il existe une ou plusieurs interfaces SONET/SDH avec la famille de protocoles IPv4 activée, le résultat est similaire à ce qui suit :

Dépannage

Dépannage des erreurs de validation

Problème

L’interface cli génère une erreur de modification transitoire non valide et la validation échoue.

Solution

Vous devez configurer l’instruction allow-transients au niveau de la [edit system scripts commit] hiérarchie pour permettre aux scripts de validation de charger les modifications transitoires dans la configuration de paiement.

Configurez l’instruction suivante pour autoriser les modifications transitoires :