Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Paramètres et variables globaux dans les scripts d’automatisation Junos OS

Junos OS fournit automatiquement des entrées aux scripts d’automatisation lors de leur exécution. Le script peut faire référence à cette entrée, qui inclut des informations spécifiques à l’équipement concernant l’environnement d’exécution de scripts, telles que le nom d’hôte de l’équipement, le type de script et l’utilisateur exécutant le script. Ces informations sont utiles pour créer des scripts qui répondent à une variété de scénarios complexes.

Les scripts SLAX et XSLT qui importent le fichier junos.xsl peuvent référencer ces informations à l’aide de la $junos-context variable globale, qui est un ensemble de nœuds. Le fichier d’importation junos.xsl déclare également plusieurs paramètres globaux prédéfinis qui permettent aux scripts de référencer plus facilement un sous-ensemble de ces informations. Les scripts Python peuvent faire référence à ces informations via le junos.Junos_Context dictionnaire, qui doit être importé dans le script.

Pour utiliser les paramètres prédéfinis ou la variable globale dans les scripts SLAX et XSLT, vous devez importer le fichier junos.xsl en incluant la balise dans la <xsl:import> déclaration de feuille de style d’un script XSLT ou en incluant l’instruction import dans un script SLAX et en spécifiant l’emplacement du fichier junos.xsl comme illustré dans l’exemple de code suivant :

Syntaxe XSLT

Syntaxe SLAX

Python

Pour référencer les informations dans les scripts Python, importez le Junos_Context dictionnaire.

Les entrées de script sont décrites en détail dans les sections suivantes :

Paramètres globaux disponibles dans les scripts SLAX et XSLT

Plusieurs paramètres globaux prédéfinis sont disponibles pour une utilisation dans les scripts d’automatisation SLAX et XSLT qui importent le fichier junos.xsl . Les paramètres fournissent des informations sur l’environnement Junos OS. Le tableau 1 décrit les arguments intégrés.

Tableau 1 : Paramètres prédéfinis disponibles dans les scripts SLAX et XSLT

Nom

Description

Exemple

$hostname

Nom de l’hôte de l’équipement local

Tokyo

$localtime

Heure locale de l’exécution du script

Fri 10 Déc 11:42:21 2010

$localtime-iso

Heure locale, au format ISO, lors de l’exécution du script

2010-12-10 11:42:21 PST

$product

Modèle de l’équipement local

m10i

$script

Nom de fichier du script d’exécution

test.slax

$user

Nom local de l’utilisateur exécutant le script

Racine

Les paramètres globaux prédéfinis sont déclarés dans le fichier junos.xsl . Pour les utiliser, vous n’avez pas besoin de déclarer ces paramètres dans un script. Accédez à la valeur des paramètres globaux dans un script en préfixe le nom du paramètre avec le signe en dollars ($), comme illustré dans l’exemple suivant :

Syntaxe SLAX :

Syntaxe XSLT :

Variable globale disponible dans les scripts d’automatisation

Les scripts Commit, Event et Op peuvent accéder à des informations d’environnement spécifiques qui sont fournies au script dès leur exécution. Pour accéder à ces informations, les scripts Python doivent importer et référencer le dictionnaire, et les junos.Junos_Context scripts SLAX et XSLT qui importent le fichier junos.xsl peuvent faire référence à la $junos-context variable globale et $junos-context Junos_Context contenir des informations identiques, mais dans un format adapté au langage de script respectif.

La $junos-context variable est un ensemble de nœuds qui contient le <junos-context> nœud et la hiérarchie suivante, qui sont communs à l’arborescence source de tous les scripts et qui y sont intégrés :

En outre, des informations spécifiques aux scripts sont disponibles en fonction du type de script exécuté. Pour les scripts op, l’élément <op-context> est également inclus dans l’arborescence source fournie à un script op :

Pour les scripts de validation, l’élément <commit-context> est également inclus dans l’arborescence source fourni à un script de validation :

Le tableau 2 identifie chaque nœud de l’ensemble $junos-context de nœuds variables, fournit une brève description du nœud et donne des exemples de valeurs pour tous les éléments qui ne sont pas entrés dans un script en tant que balise vide.

Tableau 2 : Variable globale $junos contexte Disponible pour les scripts SLAX et XSLT

Nœud parent

Nœud

Description

Exemple de contenu

< contextejunos>

châssis <>

Spécifie si le script est exécuté sur un composant d’une matrice de routage, le domaine du système racine (RSD) ou un domaine du système protégé (PSD)

csc, lcc (TX Matrix)psd, rsd (JCS)autres

<hostname>

Nom de l’hôte de l’équipement local

Tokyo

heure du <>

Heure locale de l’exécution du script

Fri 10 Déc 11:42:21 2010

<localtime-iso>

Heure locale, au format ISO, lors de l’exécution du script

2010-12-10 11:42:21 PST

<pid>

ID du processus cscript

5257

<produit>

Modèle de l’équipement local

m10i

< maître/>

Élément vide inclus si le script est exécuté sur le moteur de routage principal

 

<nom du moteur de routage>

Moteur de routage sur lequel le script est exécuté

re0

type <script>

Type de script en cours d’exécution

Op

< >

ATS de la session utilisateur

/dev/ttyp1

contexte <junos> contexte <utilisateur>

nom de classe <>

Classe de connexion de l’utilisateur exécutant le script

Super-utilisateur

nom <login>

Nom de connexion de l’utilisateur exécutant le script. Pour l’accès AAA , il s’agit du nom d’utilisateur RADIUS/TACACS.

jsmith

<uid>

Id utilisateur de l’utilisateur exécutant le script tel que défini dans la configuration de l’équipement

2999

<utilisateur>

Nom local de l’utilisateur exécutant le script. Junos OS utilise le nom local pour l’authentification. Il peut différer de l’authentification login-name AAA utilisée.

Racine

contexte <junos> contexte <op>

(scripts op uniquement)

<via-url>

Élément vide inclus si le script op distant est exécuté à l’aide de la op url commande

 

< contextejunos> contexte <commit>

(scripts de validation uniquement)

<commit-boot/>

Élément vide inclus lors de la validation au démarrage

 

<commit-check/>

Élément vide inclus lors de l’exécution d’un commit check

 

< commentairecommit>

Commentaire de l’utilisateur concernant la validation

Validation pour résoudre le problème de transfert

<commit-confirm/>

Élément vide inclus lors de l’exécution d’un commit confirmed

 

synchronisation/>commit <

Élément vide inclus lors de l’exécution d’un commit synchronize

 

< chemin de base de données/>

Élément spécifiant l’emplacement de la configuration de candidature pré-héritage de la session. Pour les sessions de configuration normales, la valeur de l’élément est l’emplacement de la base de données de candidature normale. Pour les sessions de configuration privées, la valeur de l’élément est l’emplacement de la base de données de candidature privée. Lorsque l’attribut <get-configuration> database-path est défini sur cette valeur, le script de validation récupère la configuration de candidature pré-héritage correspondante.

 

La $junos-context variable est un ensemble de nœuds. Par conséquent, vous pouvez accéder aux éléments enfants au travers d’un script en incluant l’expression XPath appropriée. Le script de validation SLAX suivant écrit un message dans le fichier journal système si la validation est effectuée lors du démarrage initial. Le message a une valeur de daemon facilité et une valeur de gravité de info. Pour plus d’informations, voir syslog().

Les scripts Python doivent importer le Junos_Context dictionnaire du junos module pour accéder aux informations d’environnement fournies aux scripts. Les noms des clés du Junos_Context dictionnaire sont identiques aux noms des nœuds décrits dans le $junos-context tableau 2. Nœuds avec des éléments enfants imbriqués sous le junos-context nœud, tels que user-context, op-contextet commit-context mappés à des éléments dans Junos_Context, où la clé est le nom du nœud et la valeur est un dictionnaire des éléments enfants du nœud. Par exemple :

L’exemple de sortie suivant affiche le Junos_Context dictionnaire d’un script d’exploitation exécuté localement. Notez que l’entrée du script op contient la op-context clé, qui dans ce scénario est vide.

L’exemple de sortie suivant affiche le Junos_Context dictionnaire d’un script de validation exécuté pendant une commit check opération. Notez que l’entrée du script de validation contient la commit-context clé.

Pour accéder aux valeurs individuelles du dictionnaire, indiquez le nom de la clé. Par exemple :