Guide du développeur de services de données Sun Cluster pour SE Solaris

Utilisation d'Agent Builder

Cette section explique comment utiliser Agent Builder. Elle indique aussi les tâches que vous devez effectuer avant de pouvoir utiliser Agent Builder. Vous y découvrirez également comment profiter de cet outil après avoir généré le code du type de ressources.

Les rubriques traitées sont les suivantes :

Analyse de l'application

Avant d'utiliser Agent Builder, vous devez déterminer si l'application que vous souhaitez rendre hautement disponible ou évolutive répond aux critères requis. Agent Builder ne peut pas réaliser cette analyse qui s'appuie uniquement sur les caractéristiques du temps d'exécution de l'application. Pour plus d'informations à ce sujet, voir Analyse du caractère approprié de l'application.

Agent Builder ne sera peut-être pas toujours en mesure de créer un type de ressource complet pour votre application. Toutefois, dans la plupart des cas, Agent Builder fournit au moins une solution partielle. Les applications plus complexes nécessitent parfois du code supplémentaire, que Agent Builder ne génère pas par défaut, comme le code qui permet d'ajouter des marques de validation pour les propriétés supplémentaires ou de régler les paramètres que Agent Builder n'affiche pas. Le cas échéant, vous devez apporter des modifications au code source généré ou au fichier RTR. Agent Builder est spécialement conçu pour fournir ce type de flexibilité.

Agent Builder place des commentaires en des endroits bien précis du code source généré, où vous pouvez ajouter votre propre code de type de ressource. Une fois le code source modifié, vous pouvez utiliser le fichier makefile généré par Agent Builder pour recompiler le code source et générer de nouveau le package de type de ressources.

Même si vous écrivez tout votre code de type de ressource sans utiliser de code généré par Agent Builder, vous pouvez utiliser le fichier makefile et la structure fournis par Agent Builder pour créer le package Solaris pour votre type de ressource.

Installation et configuration d'Agent Builder

Agent Builder ne nécessite aucune installation particulière. Agent Builder est inclus dans le package SUNWscdev, qui est installé par défaut avec le logiciel Sun Cluster. Pour plus d'informations, voir Guide d’installation du logiciel Sun Cluster pour SE Solaris.

Avant d'utiliser Agent Builder, vérifiez les points suivants :


Remarque –

Avec Agent Builder, vous pouvez utiliser un autre compilateur que le compilateur standard cc. Pour ce faire, créez un lien symbolique dans $PATH de cc vers un autre compilateur, tel que gcc. Vous pouvez également changer le compilateur spécifié dans le fichier makefile (actuellement CC=cc) en saisissant le chemin complet d'un autre compilateur. Par exemple, dans le fichier makefile généré par Agent Builder, remplacez CC=cc par CC=pathname/gcc. Si vous procédez à cette modification, vous ne pouvez pas exécuter Agent Builder directement. Au lieu de cela, vous devez utiliser les commandes make et make pkg pour générer du code de service de données et le package.


Écrans d'Agent Builder

Agent Builder est un assistant en deux étapes, chacune d'elles disposant d'un écran. Agent Builder comprend les deux écrans suivants qui vous guident tout au long du processus de création d'un nouveau type de ressource :

  1. L'écran Créer. Cet écran vous permet d'entrer des informations de base sur le type de ressource à créer, telles que son nom et le répertoire de travail où placer les fichiers générés. Le répertoire de travail constitue l'emplacement de création et de configuration du modèle de type de ressource. Vous pouvez également préciser les informations suivantes :

    • Le type de ressource à créer (évolutive ou de basculement)

    • Si l'application de base reconnaît le réseau (c'est-à-dire si elle utilise le réseau pour communiquer avec les clients)

    • Le type de code à générer (C, korn shell (ksh) ou GDS)

    Pour plus d'informations sur GDS, voir Chapitre 10, Services de données génériques. Vous devez remplir tous les champs d'information de cet écran et sélectionner Créer pour générer la sortie correspondante. Ensuite, vous pouvez afficher l'écran Configurer.

  2. L'écran Configurer. Sur cet écran, vous devez spécifier la ligne de commande complète qui peut être transmise à un shell UNIX pour démarrer votre application de base. Si vous le souhaitez, vous pouvez fournir des commandes permettant d'arrêter et d'analyser l'application. Si vous ne spécifiez pas ces deux commandes, la sortie générée utilise des signaux pour arrêter l'application et propose un mécanisme de sonde par défaut. Voir la description de la commande de la sonde à la section Utilisation de l'écran Configurer. L'écran Configurer vous permet également de modifier les valeurs de délai d'attente pour chacune de ces trois commandes : démarrage, arrêt, sonde.

Démarrage de Agent Builder


Remarque –

Si la version d'interface utilisateur graphique de Agent Builder n'est pas accessible, vous pouvez accéder à Agent Builder via l'interface de ligne de commande. Voir Utilisation de la version de ligne de commande d'Agent Builder .


Si vous lancez Agent Builder à partir d'un répertoire de travail pour un type de ressource existant, Agent Builder initialise les écrans de création et de configuration en fonction des valeurs de ce type de ressource.

Lancez Agent Builder en entrant la commande suivante :


% /usr/cluster/bin/scdsbuilder

L'écran Créer apparaît.

Figure 9–1 Écran Créer de Agent Builder

Boîte de dialogue intitulée SunPlex Agent Builder présentant l'écran principal d'Agent Builder

Navigation dans Agent Builder

Procédez de la manière suivante pour entrer des informations sur les écrans de création et de configuration :

Les boutons en bas de chaque écran vous permettent de terminer la tâche, de passer à l'écran suivant ou précédent ou de quitter Agent Builder. Agent Builder fait ressortir ces boutons ou les grise, le cas échéant.

Par exemple, lorsque vous avez rempli les champs et sélectionné les options de votre choix sur l'écran Créer, cliquez sur Créer en bas de l'écran. Les options Précédent et Suivant sont grisées car il n'existe aucun écran précédent et vous ne pouvez pas passer à l'étape suivante avant d'avoir effectué celle-ci.

Panneau en bas de l'écran affichant les commandes Créer, Précédent, Suivant et Annuler

Agent Builder affiche des messages de progression dans la zone Journal de sortie située en bas de l'écran. Lorsque l'opération est terminée, il affiche un message de réussite ou un avertissement. Le bouton Suivant est activé ou, s'il s'agit du dernier écran, seul le bouton Annuler est mis en surbrillance.

Vous pouvez cliquer sur Annuler à tout moment pour quitter Agent Builder.

Commande Parcourir

Certains champs Agent Builder vous permettent d'entrer des informations. D'autres champs vous invitent à cliquer sur Parcourir pour naviguer dans une arborescence et sélectionner un fichier ou un répertoire.

Commande Parcourir

Lorsque vous cliquez sur Parcourir, un écran semblable à celui-ci apparaît.

Écran de recherche comportant une liste de fichiers

Double-cliquez sur un dossier pour l'ouvrir. Lorsque vous déplacez le curseur sur un fichier, son nom apparaît dans le champ correspondant au nom de fichier. Après avoir localisé le fichier souhaité et pointé le curseur dessus, cliquez sur Sélectionner.


Remarque –

Si vous recherchez un répertoire, positionnez le curseur sur le répertoire souhaité et cliquez sur Ouvrir. Si le répertoire ne contient aucun sous-répertoire, Agent Builder ferme la fenêtre du navigateur et place le nom du répertoire sur lequel vous avez déplacé le curseur dans le champ approprié. S'il contient des sous-répertoires, cliquez sur Fermer pour faire disparaître la fenêtre et revenir à l'écran précédent. Agent Builder place le nom du répertoire sur lequel vous avez placé le curseur dans le champ approprié.


Les icônes situées dans le coin supérieur droit de l'écran Parcourir permettent d'effectuer les opérations suivantes :

Icône 

Objet 

Icône comportant une flèche vers le haut

Cette icône permet de monter d'un niveau dans la structure de répertoire. 

Icône comportant une maison

Cette icône permet de revenir au dossier personnel. 

Icône comportant un nouveau dossier

Cette icône crée un nouveau dossier sous le dossier actuellement sélectionné. 

Icône servant à basculer l'affichage

Cette icône permet de basculer entre différents affichages. Elle est dédiée à une utilisation ultérieure.  

Menus de Agent Builder

Agent Builder propose les menus déroulants Fichier et Édition.

Menu Fichier de Agent Builder

Le menu Fichier contient deux options :

Menu Édition de Agent Builder

Le menu Édition contient deux options :

Utilisation de l'écran Créer

Pour créer un type de ressource, vous devez en premier lieu remplir les champs de l'écran Créer, qui apparaît lorsque vous démarrez Agent Builder. La capture suivante représente l'écran Créer une fois que vous avez entré les informations dans les champs.

Figure 9–2 Écran Créer de Agent Builder, une fois que vous avez entré les informations

Boîte de dialogue qui représente l'écran Créer une fois que vous avez entré les informations

L'écran Créer contient les champs, les cases d'option et les cases à cocher suivantes :


Remarque –

Si le compilateur cc n'est pas inclus dans votre variable $PATH, Agent Builder grise le bouton radio C et vous permet de sélectionner le bouton ksh. Pour spécifier un autre compilateur, reportez-vous à la remarque à la fin de la section Installation et configuration d'Agent Builder.


Une fois que vous avez entré les informations requises, cliquez sur Créer. Située en bas de l'écran, la zone Journal de sortie montre les actions effectuées par Agent Builder. Vous pouvez choisir l'option Enregistrer journal du menu Éditer pour enregistrer les informations dans le journal.

Une fois l'opération terminée, Agent Builder affiche un message indiquant qu'elle a été correctement effectuée ou un avertissement.


Remarque –

Bien que la génération d'un type de ressource complet se fasse en deux étapes, vous pouvez quitter Agent Builder après la première étape (création) sans perdre les informations que vous avez entrées, ni le travail effectué par Agent Builder. Voir Réutilisation du code créé avec Agent Builder .


Utilisation de l'écran Configurer

L'écran Configurer, représenté sur la capture suivante, apparaît une fois que Agent Builder a terminé de créer le type de ressource et que vous avez cliqué sur Suivant sur l'écran Créer. Vous ne pouvez pas accéder à l'écran Configurer avant d'avoir créé le type de ressources.

Figure 9–3 Écran Configurer de Agent Builder

Boîte de dialogue présentant l'écran Configurer

L'écran Configurer contient les champs suivants :

Utilisation de la variable $hostnames basée sur le korn shell de Agent Builder

Pour de nombreuses applications, en particulier celles qui reconnaissent le réseau, le nom d'hôte sur lequel l'application écoute et les requêtes des clients de services doivent être transmis à l'application sur la ligne de commande. Par conséquent, le nom d'hôte est généralement un paramètre que vous devez indiquer sur l'écran Configurer pour les commandes de démarrage, d'arrêt et de sonde du type de ressource cible. Le nom d'hôte d'écoute de l'application est propre au cluster. Le nom d'hôte est déterminé lorsque la ressource est exécutée sur un cluster. Il ne peut pas être déterminé lorsque Agent Builder génère votre code de type de ressource.

Pour résoudre ce problème, Agent Builder fournit la variable $hostnames, que vous pouvez spécifier sur la ligne de commande pour les commandes de démarrage, d'arrêt et de sonde.


Remarque –

La variable $hostnames n'est prise en charge que lorsqu'elle est utilisée avec les services korn shell. Elle ne peut pas être utilisée avec les services C et GDS.


Vous spécifiez la variable $hostnames exactement comme vous indiqueriez un nom d'hôte réel. Exemple :


% /opt/network_aware/echo_server -p port-no -l $hostnames

Lorsqu'une ressource du type de ressource cible est exécutée sur un cluster, le nom d'hôte LogicalHostname ou SharedAddress qui est configuré pour cette ressource est remplacé par la valeur de la variable $hostnames. Le nom d'hôte est configuré pour cette ressource dans la propriété Network_resources_used de la ressource.

Si vous configurez la propriété Network_resources_used avec plusieurs noms d'hôte, la variable $hostnames contient tous les noms d'hôte, séparés par une virgule.

Utilisation des variables de propriété

Vous pouvez également récupérer les valeurs des propriétés d'un type de ressource, d'une ressource et d'un groupe de ressources Sun Cluster, sélectionnées à partir de la structure RGM à l'aide de variables de propriété. Agent Builder recherche les variables de propriété dans vos chaînes de commande de démarrage, d'arrêt ou de sonde et les remplace par leurs valeurs avant que Agent Builder n'exécute la commande.


Remarque –

Les variables de propriété ne peuvent pas être utilisées avec des services korn shell.


Liste des variables de propriété

Cette section répertorie les variables de propriété que vous pouvez utiliser. Les propriétés du type de ressource, de la ressource et du groupe de ressources Sun Cluster sont décrites à la section Annexe A, Propriétés standard.

Variables des propriétés de ressource

Variables de propriétés du type de ressource

Variables de propriété du groupe de ressources

Syntaxe des variables de propriété

Vous devez ajouter le symbole du pourcentage (%) avant un nom de propriété pour indiquer la présence d'une variable de propriété, comme dans l'exemple suivant :

/opt/network_aware/echo_server -t %RS_STOP_TIMEOUT -n %RG_NODELIST

Si l'on prend cet exemple, Agent Builder pourrait interpréter ces variables de propriété et lancer le script echo_server avec les valeurs suivantes :

/opt/network_aware/echo_server -t 300 -n phys-node-1,phys-node-2,phys-node-3

Interprétation et remplacement des variables de propriété par Agent Builder

Agent Builder interprète les types de variable de propriété de la manière suivante :

Réutilisation du code créé avec Agent Builder

Agent Builder vous permet de réutiliser un travail terminé de plusieurs façons :

ProcedureClonage d'un type de ressources existant

Appliquez la procédure suivante pour cloner un type de ressource existant généré par Agent Builder.

Étapes
  1. Chargez un type de ressources existant dans Agent Builder, de l'une des manières suivantes :

    • Lancez Agent Builder à partir du répertoire de travail pour un type de ressource existant créé avec Agent Builder. Vérifiez que ce répertoire contient le fichier rtconfig. Agent Builder charge les valeurs du type de ressources sur les écrans Créer et Configurer.

    • Utilisez l'option de chargement du type de ressource du menu déroulant Fichier.

  2. Modifiez le répertoire de travail dans l'écran Créer.

    Vous devez utiliser l'option Parcourir pour sélectionner un répertoire. La saisie d'un nouveau nom de répertoire est insuffisante. Une fois le répertoire sélectionné, Agent Builder active de nouveau le bouton Créer.

  3. Apportez les changements souhaités au type de ressource existant.

    Vous pouvez avoir à modifier le type de code généré pour le type de ressource. Par exemple, si vous créez une version korn shell d'un type de ressource et si vous vous apercevez ensuite que vous avez besoin d'une version C, procédez comme suit :

    • Chargez le type de ressource existant en version korn shell.

    • Paramétrez le langage de sortie sur C.

    • Cliquez sur Créer pour que Agent Builder crée une version C du type de ressource.

  4. Créez le clone du type de ressources.

    1. Cliquez sur Créer pour créer le type de ressources.

    2. Cliquez sur Suivant pour afficher l'écran Configurer.

    3. Cliquez sur Configurer pour configurer le type de ressource, puis sur Annuler pour terminer l'opération.

Édition du code source généré

Pour simplifier le processus de création d'un type de ressource, Agent Builder limite la quantité d'informations que vous pouvez spécifier, ce qui limite obligatoirement l'étendue du type de ressource généré. Par conséquent, pour ajouter des fonctionnalités plus sophistiquées, vous devez modifier le code source généré ou le fichier RTR. Exemple de fonctionnalité supplémentaire : le code qui permet d'ajouter des marques de validation pour les propriétés supplémentaires ou qui permet de régler les paramètres non affichés par Agent Builder.

Les fichiers source se trouvent dans le répertoire install-directory/rt-name/src. Agent Builder intègre les commentaires dans le code source pour que vous puissiez y ajouter le code. Exemple (pour un code C) :

/* User added code -- BEGIN vvvvvvvvvvvvvvv */
/* User added code -- END   ^^^^^^^^^^^^^^^ */

Remarque –

Ces commentaires sont identiques dans le code source korn shell, si ce n'est que la marque de commentaire (#) indique le début d'un commentaire.


Par exemple, rt-name.h indique toutes les fonctions d'utilitaire utilisées par les différents programmes. Des commentaires sont placés à la fin de cette liste pour vous permettre d'indiquer les autres fonctions que vous pouvez avoir ajoutées à votre code.

Agent Builder génère également le fichier makefile dans le répertoire install-directory/rt-name/src avec les cibles appropriées. Utilisez la commande make pour recompiler le code source. Utilisez la commande make pkg pour regénérer le package du type de ressource.

Le fichier RTR se trouve dans le répertoire install-directory/rt-name/etc. Vous pouvez le modifier à l'aide d'un éditeur de texte standard. Pour plus d'informations sur le fichier RTR, voir Paramétrage des propriétés de ressources et de types de ressources. Pour en savoir plus sur les propriétés, voir Annexe A, Propriétés standard.

ProcedureUtilisation de la version de ligne de commande d'Agent Builder

La version de ligne de commande de Agent Builder suit la même procédure de base que l'interface utilisateur graphique. Toutefois, au lieu de saisir des informations dans l'interface utilisateur graphique, vous pouvez transmettre les arguments aux commandes scdscreate et scdsconfig. Pour en savoir plus, reportez-vous aux pages de manuel scdscreate(1HA) et scdsconfig(1HA).

Procédez aux étapes suivantes pour utiliser la version de ligne de commande de Agent Builder.

Étapes
  1. Utilisez la commande scdscreate pour créer un modèle de type de ressources Sun Cluster permettant de concevoir une application hautement disponible ou évolutive.

  2. Utilisez la commande scdsconfig pour configurer le modèle de type de ressources créé avec scdscreate.

    Vous pouvez indiquer des variables de propriété, Les variables de propriété sont décrites à la section Utilisation des variables de propriété.

  3. Remplacez les répertoires par le sous-répertoire pkg dans le répertoire de travail.

  4. Utilisez la commande pkgadd pour installer les packages créés avec scdscreate.

    • Dans un environnement à zones sous Solaris 10, entrez la commande suivante en tant qu'administrateur global dans la zone globale :


      # pkgadd -G -d . package-name
      

      Le package que vous avez spécifié est ajouté à la zone globale, à condition que le contenu du package n'affecte aucune des parties de la zone globale partagées avec une zone non globale.

    • Pour toute autre version du système d'exploitation Solaris ou pour Solaris 10 dans un environnement sans zones, tapez la commande suivante :


      # pkgadd -d . package-name
      
  5. (Facultatif) Modifiez le code source généré.

  6. Exécutez le script de démarrage.