Comprendre les modules YANG pour les commandes opérationnelles Junos
Juniper Networks publie des modules YANG qui définissent les appels de procédure à distance (RPC) pour les commandes du mode opérationnel Junos. En raison du grand nombre de commandes opérationnelles, il existe plusieurs modules YANG pour chaque famille d’équipements. Il existe un module pour chaque groupe de commandes opérationnels de niveau supérieur (clear
, file
, monitor
et ainsi de suite) dans lequel il y a au moins une commande au sein de cette hiérarchie avec un équivalent RPC. Il existe également un module distinct pour chaque zone de la hiérarchie de show
commandes.
À partir de la version 17.2 de Junos OS, les modules Junos YANG sont spécifiques à une famille d’équipements et utilisent une nouvelle convention pour l’espace de noms de module. En outre, chacun des modules de commande opérationnelle définit son préfixe d’espace de noms à l’aide de la zone de hiérarchie de commandes des RPC inclus dans ce module. Avant junos OS version 17.2, le préfixe de tous les modules de commande opérationnelle était jrpc
.
À partir de la version 17.4R1 de Junos OS, les modules Yang de Junos OS utilisent une nouvelle convention de nommage pour le nom, le nom et l’espace de noms du module. Pour plus d’informations, voir Comprendre les modules YANG Junos.
Les modules de commande opérationnelle définissent les RPC correspondant aux commandes opérationnelles dans la zone de hiérarchie de commande indiquée dans le nom de fichier. L’exemple suivant montre une partie du module contenant les RPC pour les commandes dans la hiérarchie de clear
commandes :
user@host> file show /var/tmp/yang/junos-rpc-clear@2017-01-01.yang /* * Copyright (c) 2017 Juniper Networks, Inc. * All rights reserved. */ module junos-rpc-clear { namespace "http://yang.juniper.net/junos/rpc/clear"; prefix clear; import junos-common-types { prefix jt; } organization "Juniper Networks, Inc."; contact "yang-support@juniper.net"; description "Junos RPC YANG module for clear command(s)"; revision 2017-01-01 { description "Junos: 17.4R1.17"; } rpc clear-cli-logical-system { description "Clear logical system association"; output { leaf output { type string; } } } rpc clear-cli-satellite { description "Clear satellite association"; output { leaf output { type string; } } } ...
YANG définit les opérations à l’aide de l’instruction rpc
. La définition RPC peut inclure input
et output
des sous-états décrivant les paramètres d'entrée et de sortie de l'opération. À partir de la version 23.1R1 de Junos OS, l'instruction RPC inclut un schéma de output
sortie précis, et les équipements Junos émettent les nouveaux schémas par défaut.
Dans les versions précédentes, le schéma de sortie du RPC inclut l anyxml
'instruction qui représente un morceau de XML non inconnu dans la réponse RPC. Pour générer les schémas RPC contenant l’instruction anyxml
sur un équipement Junos, configurez les device-specific
déclarations et emit-anyxml-in-rpc-output
au niveau de la [edit system services netconf yang-modules]
hiérarchie. Une fois les instructions configurées, la show system schema
commande génère les schémas qui utilisent anyxml
.
Vous pouvez télécharger les modules Junos YANG à partir du site de téléchargement Juniper Networks ou du référentiel Juniper Networks GitHub pour YANG, ou vous pouvez générer les modules sur l’équipement local. Pour générer les modules YANG de commande opérationnelle sur l’équipement local, passez la show system schema format yang module module
commande. La version Junos OS détermine les options de commande disponibles.
-
Dans Junos OS version 17.3 et versions antérieures, spécifiez le
juniper-command
module pour générer tous les modules de commande opérationnels.user@host> show system schema format yang module juniper-command
Note:À partir de la version 17.1 de Junos OS, lorsque vous générez le
juniper-command
module, les fichiers de sortie sont placés dans le répertoire de travail actuel, qui correspond par défaut au répertoire de domicile de l’utilisateur. Dans junos OS version 16.2 et versions antérieures, les fichiers de sortie sont placés dans le répertoire /var/tmp . -
Dans junos OS version 17.4R1 et versions ultérieures, spécifiez un nom de module individuel pour renvoyer un seul module de commande opérationnelle ou spécifier
all-rpc
de renvoyer tous les modules de commande opérationnelle.user@host> show system schema format yang module all-rpc output-directory /var/tmp/yang
À partir des versions 19.1R2 et 19.2R1 de Junos OS, la
show system schema
commande doit inclure l’optionoutput-directory
de commande et spécifier le répertoire dans lequel générer le ou les fichiers. Dans les versions précédentes, vous pouvez omettre l’option lors de laoutput-directory
demande d’un seul module d’afficher le module en sortie standard.
Pour générer les modules à partir d’une session distante, exécutez junos <get-yang-schema>
OS RPC ou l’opération <get-schema>
NETCONF avec les options appropriées.
Si vous spécifiez module juniper-command
ou module all-rpc
, les fichiers de sortie comprennent à la fois des modules de commande opérationnelle Junos natifs ainsi que tous les modules de commande opérationnelle standard ou personnalisés qui ont été ajoutés à l’équipement. Pour utiliser un RPC dans votre module YANG personnalisé, vous devez importer le module qui contient le RPC souhaité dans votre module personnalisé.
Vous pouvez configurer l’instruction emit-extensions
au niveau de la [edit system services netconf yang-modules]
hiérarchie pour émettre les schémas YANG avec des instructions d’extension Junos supplémentaires. Les extensions Junos sont définies dans le module YANG Understanding the Junos DDL Extensions. L’équipement émet l’instruction d’extension junos:command
à partir de Junos OS versions 22.4R1 et Junos OS Evolved version 22.4R1.
À partir de la version 17.4R1 de Junos OS, les modules YANG natifs générés sur un équipement local contiennent des schémas spécifiques à la famille, qui sont identiques sur tous les équipements de la famille d’équipements donnée. Dans les versions précédentes, les modules générés contiennent des schémas spécifiques aux équipements. Pour générer des modules spécifiques à un équipement dans Junos OS version 17.4R1 et versions ultérieures, configurez l’instruction de device-specific
configuration au niveau de la [edit system services netconf yang-modules]
hiérarchie.
junos:command
dans les schémas émis avec les extensions.
show system schema
commande doit inclure l’option
output-directory
de commande et spécifier le répertoire dans lequel générer le ou les fichiers.
juniper-command
module, les fichiers de sortie sont placés dans le répertoire de travail actuel, qui correspond par défaut au répertoire de domicile de l’utilisateur