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 :
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.
from junos import Junos_Configuration
import jcs
def main():
# Get configuration root object
root = Junos_Configuration
for element in root.xpath("./interfaces/ \
interface[starts-with(name,'so-')]"):
if element.find('unit/family/mpls') is None:
if_name = element.find('name').text
unit_name = element.find('unit/name').text
change_xml = """
<interfaces>
<interface>
<name>{0}</name>
<unit>
<name>{1}</name>
<family>
<mpls>
</mpls>
</family>
</unit>
</interface>
</interfaces>
""".format(if_name, unit_name).strip()
jcs.emit_change(change_xml, "change", "xml")
jcs.emit_warning("Adding 'family mpls' to SONET interface: " + if_name)
if __name__ == '__main__':
main()
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.
[edit] user@host# show | display commit-scripts
Pour afficher la configuration en appliquant uniquement les modifications persistantes, commandez le mode de show | display commit-scripts no-transients configuration.
[edit] user@host# show | display commit-scripts no-transients
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.