Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Exemple : Configurer l’automatisation d’un modèle de service

Cet exemple montre comment utiliser l’automatisation de modèle de service pour provisionner des services sur des plates-formes similaires exécutant Junos OS.

Exigences

  • Deux équipements MX Series exécutant Junos OS version 12.3 ou ultérieure.

Aperçu

Cet exemple utilise l’automatisation de modèle de service pour provisionner des services sur un routeur MX Series. Pour utiliser le script d’automatisation service-builder.slax du modèle de service, vous devez d’abord copier le script dans le répertoire /var/db/scripts/op ou /config/scripts/op et activer le script sur l’appareil.

Le processus suivant décrit comment utiliser l’automatisation des modèles de service pour provisionner des services :

  1. Créez une définition de modèle de service.

  2. Exécutez le script service-builder.slax et définissez les paramètres d’instance spécifiques au service.

  3. Générez l’interface de service.

  4. Activez l’interface de service sur chaque appareil sur lequel le service est requis.

  5. Provisionnez les systèmes en appelant l’interface de service à l’aide de NETCONF et en fournissant les valeurs des paramètres de service.

Cet exemple permet de créer une interface de service VPN sur un équipement MX Series exécutant Junos OS version 12.3 et de provisionner le service sur un deuxième équipement MX  Series exécutant Junos  OS version 12.3. Vous configurez les définitions de modèle de service sous le niveau hiérarchique[edit groups]. Dans cet exemple, le nom du service est , et le nom du groupe de modèles est vpn-servicevpn-service-template-group. La load merge terminal commande configuration mode charge les hiérarchies de configuration du modèle de service dans la configuration candidate, qui est ensuite validée.

Une fois que vous avez créé le modèle de service initial, vous exécutez le script service-builder.slax. Le script invite à entrer le nom du service et le nom du groupe de modèles, puis lit la configuration du modèle de service à partir de la configuration validée.

L’interface de script service-builder.slax se compose de deux menus : Main Menu et Hierarchies Menu. Dans le Main Menu, vous pouvez passer en revue les variables définies dans la configuration du modèle de service, ou vous pouvez créer ou activer l’API de service. L’option Build Service API de menu affiche le Hierarchies Menu, qui vous guide tout au long du paramétrage des variables. Par défaut, toutes les variables sont paramétrées ou vous pouvez choisir de paramétrer les variables sélectionnées. Si vous devez quitter le script service-builder.slax lors de la création de l’API de service, vous devez terminer la configuration de tous les paramètres de la hiérarchie actuelle afin d’enregistrer cette configuration de hiérarchie lorsque vous quittez à l’aide de l’option Quit . Ensuite, vous pouvez terminer la configuration des hiérarchies incomplètes ultérieurement. Cet exemple permet de paramétrer deux variables : le nom de l’interface et la description de l’interface. Une fois les paramètres spécifiés, le script Service Builder génère le script de service.

L’option Enable Service API de menu active le script de service sur l’appareil local. Pour activer le script de service sur le deuxième périphérique MX Series, le script de service généré est copié dans le répertoire / var/db/scripts/op du second périphérique et le script est activé dans la configuration. Si l’instruction load-scripts-from-flash est configurée, le script doit être copié dans le répertoire correspondant sur la clé USB.

NETCONF est utilisé pour provisionner le service sur le périphérique MX Series distant. L’action d’appel de procédure à distance (RPC) NETCONF varie selon qu’il s’agit d’un nouveau service ou d’un service existant. Les actions prises en charge sont , update, createet delete. Cet exemple crée un service. Si le service donné est déjà provisionné sur l’appareil et que vous mettez à jour ou supprimez les paramètres du service, vous pouvez modifier le RPC pour effectuer ces actions.

Configuration

Stockage et activation du script Service Builder

Procédure étape par étape

L’installation de Junos OS inclut le script service-builder.slax , stocké dans le répertoire / usr/libexec/scripts/op/ du périphérique. Pour utiliser le script service-builder.slax , vous devez d’abord le copier dans le répertoire op scripts et l’activer dans la configuration. Seuls les utilisateurs de la classe de connexion du superutilisateur Junos OS peuvent accéder aux fichiers de ces répertoires et les modifier.

  1. Copiez le script service-builder.slax dans le répertoire /var/db/scripts/op sur le disque dur ou dans le répertoire /config/scripts/op sur la clé USB.

  2. Vérifiez que le script se trouve dans le bon répertoire à l’aide de la file list commande mode opérationnel.

  3. Activez le script dans la configuration.

  4. Si vous stockez des scripts et que vous les chargez à partir de la mémoire flash, configurez l’instruction, si elle n’est load-scripts-from-flash pas déjà configurée.

  5. Validez la configuration.

Configuration de la définition du modèle de service

Procédure étape par étape

Pour créer un modèle de service sur un équipement exécutant Junos OS :

  1. Sélectionnez un nom de service.

    Cet exemple utilise vpn-service.

  2. En mode configuration, créez un nouveau groupe qui contiendra les hiérarchies du service à provisionner.

  3. Configurez les hiérarchies du service.

    Dans cet exemple, les hiérarchies de configuration préconstruites sont chargées dans la configuration candidate à l’aide de la load merge terminal commande.

  4. Vérifiez que la syntaxe de configuration est correcte.

  5. Validez la configuration.

Configuration et génération de l’interface de service

Procédure étape par étape

Pour configurer et générer l’interface de service :

  1. En mode opérationnel, exécutez le script service-builder.slax qui démarre une session Service Builder interactive.

  2. Entrez le nom du service qui a été défini dans Configuration de la définition du modèle de service.

  3. Entrez le nom du groupe sous lequel les hiérarchies de services sont configurées.

    Cet exemple utilise le nom vpn-service-template-groupde groupe . Le script lit la configuration spécifiée dans la vpn-service-template-group hiérarchie, puis affiche le menu principal.

  4. (Facultatif) Pour passer en revue les variables de modèle de service que vous pouvez paramétrer, sélectionnez l’option Show Variables .

    Le script traduit la définition du modèle dans la configuration candidate en une liste de paramètres généraux regroupés par niveau hiérarchique.

  5. Pour créer l’API de service, sélectionnez l’option Build Service API .

  6. À partir de , entrez les sélections de menu pour les hiérarchies qui ont des variables que vous souhaitez paramétrer, Hierarchies Menuou appuyez sur Entrée pour sélectionner toutes les hiérarchies.

  7. Dans la liste des variables, entrez les sélections de menu pour les variables que vous souhaitez paramétrer pour l’interface de service, ou appuyez sur Entrée pour paramétrer toutes les variables de cette hiérarchie.

  8. Configurez les paramètres sélectionnés.

    Le système vous invite à entrer les informations requises. Cet exemple configure le paramètre nom de l’interface en tant que et le paramètre de description de l’interface en tant ifdescque ifname .

  9. Configurez les paramètres sélectionnés à chaque niveau hiérarchique.

    Le script effectue une itération sur chaque hiérarchie sélectionnée et sur les paramètres spécifiés. Si vous devez quitter le script service-builder.slax lors de la création de l’API de service, vous devez terminer la configuration de tous les paramètres de la hiérarchie actuelle afin d’enregistrer cette configuration de hiérarchie lorsque vous quittez à l’aide de l’option Quit .

  10. Générez l’interface de service, qui crée le script de service.

    Une fois tous les paramètres configurés, le script vous invite automatiquement à générer l’interface de service. Appuyez sur Entrée ou tapez yes pour générer l’interface de service.

Vérification de l’interface de service

But

Vérifiez la création du script de service. Si l’instruction load-scripts-from-flash est configurée, le fichier généré est stocké dans la mémoire flash. Sinon, le fichier généré est stocké sur le disque dur.

Action

Exécutez la commande du file list mode opérationnel. Dans cet exemple, le script vpn-service.slax doit être présent dans le répertoire /var/db/scripts/op. Le script service-builder.slax génère également le script utility.slax dans le répertoire /var/db/scripts/op et le fichier vpn-service-builder-info.xml dans le répertoire /var/db/scripts/lib. Ces fichiers sont utilisés par le script service-builder.slax et ne doivent pas être supprimés.

Activation de l’interface de service

Procédure étape par étape

Pour activer l’interface de service sur un équipement distant :

  1. Copiez le script de service généré sur l’appareil sur lequel vous provisionnez le nouveau service.

    Si l’instruction n’est load-scripts-from-flash pas configurée, copiez le script de service dans le répertoire / var/db/scripts/op du second périphérique. Dans le cas contraire, le script doit être copié dans le répertoire correspondant sur la clé USB.

  2. Activez le script op dans la configuration.

  3. Validez la configuration.

  4. En mode opérationnel, vérifiez que le script est activé et que les paramètres du service s’affichent en tant qu’arguments pour le script.

Provisionnement du service à l’aide de NETCONF

Procédure étape par étape

Pour provisionner le service :

  1. S’il n’est pas déjà configuré, configurez le service NETCONF sur SSH sur tous les périphériques sur lesquels vous provisionnez le nouveau service.

  2. À partir d’un serveur de gestion de la configuration, établissez une session NETCONF avec l’appareil sur lequel vous provisionnez le service.

  3. Si vous provisionnez un nouveau service sur l’appareil, entrez un appel de procédure à distance (RPC) qui appelle le script d’opération de service à l’aide de l’action create et incluez les valeurs de tous les paramètres qui nécessitent une configuration.

    La valeur du service-id paramètre doit être identique au nom du service.

Mise à jour ou suppression de services à l’aide de NETCONF

Procédure étape par étape

Pour mettre à jour ou supprimer un service existant :

  1. S’il n’est pas déjà configuré, configurez le service NETCONF via SSH sur tous les périphériques sur lesquels vous mettez à jour ou supprimez le service.

  2. À partir d’un serveur de gestion de la configuration, établissez une session NETCONF avec l’appareil sur lequel vous provisionnez le service.

  3. Si le service donné est déjà approvisionné sur l’appareil et que vous le mettez à jour, entrez un RPC qui appelle le script d’opération de service à l’aide de l’action update et incluez des valeurs pour tous les paramètres qui nécessitent une mise à jour.

  4. Si le service donné est déjà approvisionné sur l’appareil et que vous supprimez tout ou partie des paramètres de service, entrez un RPC qui appelle le script d’opération de service à l’aide de l’action delete et incluez tous les paramètres qui doivent être supprimés.

Vérification

Vérifiez que la configuration est mise à jour.

Vérification de la validation

But

Vérifiez que la validation a réussi.

Action

Exécutez la show system commit commande mode opérationnel pour afficher les validations récentes. L’entrée de validation la plus récente indique qu’une validation a été effectuée via le serveur NETCONF par user.

Vérification de la configuration du service

But

Vérifiez que la configuration du service est présente dans la configuration active.

Action

Exécutez la commande mode opérationnel pour afficher les show configuration | compare rollback num modifications de configuration.

Sens

Une comparaison de la configuration actuelle avec la configuration précédente montre que les interfaces et les descriptions d’interface ont été ajoutées à la configuration.

Dépannage

Dépannage d’un commit ayant échoué

Problème

Le message suivant s’affiche lors de la création, de la mise à jour ou de la suppression d’un service sur un périphérique par le biais d’une session NETCONF :

La configuration contient précédemment des modifications non validées et le script de service ne peut pas valider les modifications de configuration du service.

Solution

Validez les modifications précédentes ou restaurez la configuration selon le cas, puis soumettez à nouveau les modifications apportées à la configuration du service.

Dépannage d’une tentative infructueuse de suppression de paramètres de service

Problème

Le message suivant s’affiche lors de la suppression d’un paramètre de service sur un périphérique via NETCONF :

Solution

Le RPC peut inclure à la fois le paramètre et un élément enfant. Supprimez l’élément enfant du RPC.