Comment éviter les conflits potentiels lors de l’utilisation de scripts de validation multiples
Lorsque vous utilisez plusieurs scripts de validation, chaque script évalue le fichier de configuration du candidat d’origine. Les modifications apportées par un script ne sont pas évaluées par les autres scripts. Cela signifie que les conflits entre scripts peuvent ne pas être résolus lorsque les scripts sont appliqués pour la première fois à la configuration. Les scripts de validation sont exécutés dans l’ordre où ils sont répertoriés au niveau de la [edit system scripts commit]
hiérarchie, comme illustré en figure 1.

À titre d’exemple de conflit entre scripts de validation, supposons que le script de validation A.xsl soit créé pour s’assurer que l’équipement utilise le serveur de nom de domaine avec l’adresse IP 192.168.0.255. Plus tard, l’adresse du serveur DNS est changée en 192.168.255.255 et un deuxième script, B.xsl, est ajouté pour vérifier que l’équipement utilise le serveur DNS avec cette adresse. Toutefois, le script A.xsl n’est pas supprimé ou désactivé.
Étant donné que chaque script de validation évalue la configuration initiale du candidat, le résultat final de l’exécution des scripts A.xsl et B.xsl dépend de l’adresse de serveur DNS configurée dans la configuration initiale du candidat. Si l’adresse 192.168.0.255 est désormais obsolète, le script B.xsl la modifie en 192.168.255.255. Toutefois, si l’adresse correcte de 192.168.255.255 est configurée, le script A.xsl la modifie à la valeur incorrecte 192.168.0.255.
Autre exemple de conflit potentiel entre scripts de validation, supposons qu’un script de validation protège une hiérarchie à l’aide de l’attribut protect
. Si un deuxième script de validation tente de modifier ou de supprimer la hiérarchie ou les déclarations de la hiérarchie, Junos OS émet un avertissement pendant le processus de validation et empêche la modification de la configuration.
Veillez à ne pas introduire de conflits entre les scripts comme ceux décrits dans les exemples. Pour vérifier les conflits avec des modifications persistantes, vous pouvez émettre deux commandes distinctes commit
.