Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Créer des scripts de traduction pour les modèles de configuration YANG

Vous pouvez charger des modules YANG sur les équipements Junos pour ajouter des modèles de données qui ne sont pas pris en charge nativement par le système d’exploitation mais peuvent être pris en charge par la traduction. Lorsque vous étendez la hiérarchie de configuration avec des modèles de données YANG non-atifs, vous devez également fournir un ou plusieurs scripts de traduction qui fournissent la logique permettant de mapper la syntaxe de configuration non-ative à la syntaxe Junos OS correspondante.

Les scripts de traduction convertissent les données de configuration correspondant aux modèles de données YANG non-atifs en syntaxe Junos OS et ajoutent les données de configuration traduites comme une modification transitoire de la configuration de caisse pendant l’opération de validation. Les scripts de traduction peuvent être écrits en Python ou SLAX et sont similaires aux scripts de validation dans la structure. Pour plus d’informations sur la création de scripts SLAX et Python qui génèrent des modifications transitoires dans la configuration, consultez le Guide de l’utilisateur des scripts d’automatisation.

Vous utilisez les request system yang add commandes ou request system yang update pour ajouter des modules YANG et leurs scripts de traduction associés à un package YANG nouveau ou existant sur l’équipement. Après avoir ajouté les modules et les scripts de traduction à l’équipement, vous pouvez configurer les déclarations et les hiérarchies dans le modèle de données ajouté par ces modules. Lorsque vous chargez et validez les données de configuration, l’équipement appelle le script pour effectuer la traduction et générer le changement de configuration transitoire.

Cette rubrique traite de la structure générale des scripts de traduction. La logique de traduction spécifique requise dans le script réel dépend des hiérarchies personnalisées ajoutées au schéma et dépasse le champ d’application de cette rubrique.

Pour créer le framework pour les scripts de traduction utilisés sur les équipements Junos :

  1. Dans votre éditeur favori, créez un nouveau fichier qui utilise l’extension de fichier .slax ou .py, le cas échéant.
  2. Incluez la plaque de chaudron nécessaire pour le langage de ce script, qui est identique à la plaque de chaudron pour les scripts de validation, et incluez également toutes les déclarations d’espace de noms requises pour vos modèles de données.
    • Code SLAX :

    • Code Python :

    Note:

    Les scripts de traduction doivent pleinement qualifier les identifiants des modèles de données YANG non-atifs dans le code de traduction.

    Note:

    Pour plus d’informations sur le code chaudron de script de validation, consultez la plaque de chaudron requise pour les scripts de validation et le Guide de l’utilisateur des scripts d’automatisation.

  3. Ajoutez un code qui mappe les données de configuration non-atives dans la syntaxe Junos OS équivalente et stocke les données de configuration traduites dans une variable.
    • Exemple de code SLAX :

    • Exemple de code Python :

  4. Ajoutez le contenu traduit à la configuration de caisse en tant que changement de configuration transitoire en appelant le jcs:emit-change() modèle dans les scripts SLAX ou la jcs.emit_change() fonction dans les scripts Python avec la configuration traduite et transient-change la balise comme arguments.
    • Exemple de code SLAX :

    • Exemple de code Python :

    Note:

    Dans les scripts SLAX, vous pouvez également générer le changement transitoire en émettant la configuration traduite à l’intérieur d’un <transient-change> élément au lieu d’appeler le jcs:emit-change() modèle.

Sur l’équipement, effectuez les tâches suivantes avant d’ajouter le script de traduction à un package YANG :

  1. Si le script de traduction est écrit en Python, autorisez l’équipement à exécuter des scripts Python non signés en configurant l’instruction language python ou language python3 , selon le cas pour la version Junos OS.

    Note:

    À partir de Junos OS version 20.2R1 et Junos OS Evolved version 22.3R1, l’équipement utilise Python 3 pour exécuter des actions YANG et des scripts de traduction. Dans les versions précédentes, Junos OS utilise uniquement Python 2.7 pour exécuter ces scripts, et Junos OS Evolved utilise Python 2.7 par défaut pour exécuter les scripts.

  2. Téléchargez le script sur l’équipement et validez éventuellement la syntaxe.

Avant de pouvoir utiliser des scripts de traduction sur un équipement, vous devez ajouter les scripts et les modules associés à un package YANG nouveau ou existant en émettant la request system yang add commande ou request system yang update . Une fois les modules et les scripts ajoutés, les scripts de traduction sont automatiquement appelés lorsque vous validez les données de configuration dans les modèles de données correspondants.

Lorsque vous configurez des instructions qui correspondent à des modèles de données YANG tiers, par exemple OpenConfig ou des modèles de données YANG personnalisés, les fonctionnalités suivantes ne sont pas prises en charge :

  • Utilisation configure batch ou configure private mode

  • Configuration des instructions dans la [edit groups] hiérarchie

Les configurations actives et candidates contiennent les données de configuration des modèles de données YANG non-atifs dans la syntaxe définie par ces modèles. Toutefois, étant donné que les données de configuration traduites sont validées comme une modification transitoire, les configurations actives et candidates n’affichent pas explicitement les données traduites dans la syntaxe Junos OS lorsque vous émettez des show show configuration commandes. Pour appliquer des scripts de traduction YANG lorsque vous affichez la configuration, utilisez le | display translation-scripts filtre.

Pour afficher la configuration post-héritage complète avec les données traduites (modifications transitoires) explicitement incluses, ajoutez le | display translation-scripts filtre à la show configuration commande en mode opérationnel ou à la show commande en mode configuration. Pour afficher uniquement les données de configuration non-atives après la traduction, utilisez le | display translation-scripts translated-config filtre.

En mode configuration, pour afficher uniquement les modifications apportées aux données de configuration correspondant aux modèles de données YANG non-atifs avant ou après l’application des scripts de traduction, ajoutez le ou translated-delta le configured-delta mot-clé, respectivement, à la show | display translation-scripts commande. Dans les deux cas, la sortie XML affiche les données de configuration supprimées, puis les nouvelles données de configuration.

Pour plus d’informations sur le | display translation-scripts filtre, consultez validation et affichage des données de configuration pour les modules YANG non-atifs.

Tableau de l’historique des versions
Libération
Description
22.3R1
À partir de La version 22.3R1 de Junos OS Evolved, Junos OS Evolved utilise Python 3 pour exécuter des actions YANG et des scripts de traduction.
20.2R1
À partir de la version 20.2R1 de Junos OS, Junos OS utilise Python 3 pour exécuter des actions YANG et des scripts de traduction.