Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Générer un changement de configuration persistant ou transitoire dans les scripts de validation Python

Les scripts de validation Junos OS appliquent des règles de configuration personnalisées et peuvent modifier automatiquement la configuration lorsqu’elle ne respecte pas vos règles de configuration personnalisées. Pour générer une modification persistante ou transitoire à l’aide de scripts de validation Python :

  1. Au début du script, incluez la plaque python de la plaque de chaudron requise pour les scripts de validation, qui est reproduit ici pour plus de commodité :
  2. Incluez une ou plusieurs instructions de programmation qui testent vos règles de configuration personnalisées.

    Par exemple, le code suivant sélectionne chaque interface SONET/SDH sur lequel la famille de protocoles MPLS n’est pas activée :

  3. Créez une chaîne XML qui indique à Junos OS comment modifier la configuration.

    Cet exemple active la famille de protocoles MPLS pour les interfaces sélectionnées.

  4. Incluez tout code supplémentaire requis ou facultatif. Cet exemple génère un message d’avertissement affiché sur l’interface CLI lorsque le script de validation met à jour une interface SONET/SDH.
  5. Pour générer les modifications persistantes ou transitoires, appelez la jcs.emit_change méthode et spécifiez le type de modification, « change » ou « transitoire-change » dans la liste d’arguments.
  6. Enregistrez le script avec un nom significatif.
  7. Copiez le script dans le répertoire /var/db/scripts/commit sur le disque dur de l’équipement ou dans le répertoire /config/scripts/commit sur le lecteur flash.
    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.

  8. Activez le script en configurant l’instruction file filename au niveau de la [edit system scripts commit] hiérarchie.
  9. Si le script génère des modifications transitoires, configurez l’instruction allow-transients .
  10. Activez l’exécution de scripts Python non signés sur l’équipement.
  11. Émettez la commit commande pour valider la configuration.

Le script qui en résulte recherche des interfaces SONET/SDH dont la famille de protocoles MPLS n’est pas activée, ajoute l’instruction family mpls au [edit interfaces so-fpc/pic/port unit logical-unit-number] niveau hiérarchique comme une modification persistante et émet un message d’avertissement indiquant que la configuration a été modifiée.

Si tous les scripts de validation activés s’exécutent sans erreur, les modifications persistantes sont chargées dans la configuration du candidat, et toutes les modifications transitoires sont chargées dans la configuration de paiement, mais pas dans la configuration du candidat. Le processus de validation se poursuit ensuite en validant la configuration et en propageant les modifications aux processus concernés sur l’équipement.

Pour afficher la configuration avec des modifications persistantes et transitoires appliquées, émettez la commande du mode de show | display commit-scripts configuration.

Pour afficher la configuration en appliquant uniquement les modifications persistantes, commandez le mode de show | display commit-scripts no-transients configuration.

Les modifications persistantes et transitoires sont chargées dans la configuration de la même manière que la commande du load replace mode de configuration charge une configuration entrante. Lors de la génération d’une modification persistante ou transitoire, l’ajout de l’attribut replace="replace" à un élément de configuration produit le même comportement qu’une replace: balise dans une load replace opération. Les modifications persistantes et transitoires sont chargées dans la configuration avec le load replace comportement. Toutefois, les modifications persistantes sont chargées dans la configuration du candidat, et les modifications transitoires sont chargées dans la configuration de paiement.