Guide des développeurs pour les services de données Sun Cluster pour SE Solaris

Utilisation d'Agent Builder

Cette section décrit comment utiliser Agent Builder et présente les différentes tâches à effectuer avant de pouvoir l'utiliser. 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 répond aux critères requis en termes de haute disponibilité et évolutivité. Agent Builder ne peut pas réaliser cette analyse s'appuyant uniquement sur les caractéristiques du temps d'exécution de l'application. Vous trouverez de plus amples informations à ce sujet dans la rubrique Analyse du caractère approprié de l'application.

Il se peut qu'Agent Builder ne puisse pas toujours créer un type de ressources complet pour votre application. Dans la plupart des cas, cependant, il propose au moins une solution partielle. Par exemple, les applications particulièrement complexes peuvent nécessiter un code supplémentaire qu'Agent Builder ne génère pas par défaut. Il peut notamment s'agir d'un code permettant d'ajouter des contrôles de validation pour des propriétés supplémentaires ou de régler des paramètres qu'Agent Builder n'affiche pas. Le cas échéant, vous devez apporter des modifications au code source généré ou au fichier RTR. La conception d'Agent Builder vise justement à offrir cette souplesse.

De fait, Agent Builder insère des commentaires aux endroits du code source généré où vous pouvez ajouter votre propre code de type de ressources. 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 l'intégralité du code de type de ressources sans utiliser aucun 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 de votre type de ressources.

Installation et configuration d'Agent Builder

Agent Builder ne requiert aucune installation spéciale. Agent Builder est livré avec le package SUNWscdev, installé par défaut dans le cadre de l'installation logicielle standard de Sun Cluster. Pour de plus amples informations, reportez-vous au manuel Sun Cluster Software Installation Guide for Solaris OS.

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


Remarque –

vous pouvez utiliser un autre compilateur que le compilateur cc standard avec Agent Builder. Pour ce faire, vous pouvez créer un lien symbolique dans $PATH entre cc et un autre compilateur, par exemple gcc. Vous pouvez également remplacer la spécification du compilateur dans le fichier makefile (actuellement CC=cc) par le chemin d'accès complet d'un autre compilateur. Par exemple, dans le fichier makefile généré par Agent Builder, remplacez CC=cc par CC=nomchemin/gcc . Dans ce cas, vous ne pouvez pas exécuter Agent Builder directement. Vous devez utiliser les commandes make et make pkg pour générer un code de service de données et un package.


Écrans d'Agent Builder

Agent Builder est un assistant en deux étapes, chacune d'elles disposant d'un écran. Agent Builder affiche les deux écrans suivants, destinés à vous guider tout au long du processus de création d'un type de ressources :

  1. l'écran de création : sur cet écran, vous indiquez les informations de base sur le type de ressources à créer, par exemple son nom et le répertoire de travail des 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 identifier le type de ressources à créer (évolutives ou de basculement), si l'application de base est sensible au réseau (c'est-à-dire si elle passe par le réseau pour communiquer avec ses clients) et le type de code (C, korn shell ksh ou GDS (service de données générique)) à générer. Pour de plus amples informations sur GDS, voir le Chapitre 10, Services de données génériques. Vous devez indiquer toutes les informations sur cet écran et sélectionner l'option de création pour générer la sortie correspondante. Ensuite, vous pouvez afficher l'écran de configuration.

  2. l'écran de configuration : sur cet écran, vous devez indiquer la ligne de commande complète qui peut être transmise à n'importe quel shell UNIX® pour démarrer l'application de base. Si vous le souhaitez, vous pouvez fournir des commandes permettant d'arrêter et d'analyser l'application. À défaut, la sortie générée utilise des signaux pour arrêter l'application et fournit un mécanisme d'analyse par défaut. Voir la description de la commande d'analyse, sous la rubrique Utilisation de l'écran Configurer. Cet écran vous permet également de modifier les valeurs de délai pour chacune de ces trois commandes.

Lancement d'Agent Builder


Remarque –

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



Remarque –

si vous lancez Agent Builder à partir du répertoire de travail d'un type de ressources existant, Agent Builder initialise les écrans Créer et Configurer en reprenant les valeurs du type de ressources existant.


Pour lancer Agent Builder, entrez la commande suivante :


% /usr/cluster/bin/scdsbuilder

L'écran Créer apparaît.

Figure 9–1 Écran Créer

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

Navigation dans Agent Builder

Pour entrer des informations sur les écrans Créer et Configurer, effectuez les opérations suivantes :

Les options en bas de chaque écran vous permettent d'effectuer une tâche, de passer à l'écran suivant ou précédent ou de quitter Agent Builder. Les options apparaissent en grisé ou en surbrillance selon qu'elles correspondent à des actions que vous pouvez effectuer ou non.

Par exemple, après avoir renseigné les champs et coché les options souhaitées dans l'écran Créer, cliquez sur le bouton Créer en bas de l'écran. Les boutons Précédent et Suivant sont désactivés car il n'existe pas d'écran précédent et vous ne pouvez pas accéder à l'écran suivant tant que vous n'avez pas terminé de renseigner l'écran actuel.

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 du journal située en bas de l'écran. Lorsqu'il a terminé, il affiche un message indiquant que l'opération a été correctement effectuée ou un avertissement vous invitant à consulter le journal. Le bouton Suivant est activé ou, s'il s'agit du dernier écran, seul le bouton Annuler est mis en surbrillance.

Vous pouvez sélectionner à tout moment l'option Annuler pour quitter Agent Builder.

Parcourir

Certains champs d'Agent Builder vous permettent d'entrer des informations ou de cliquer sur Parcourir pour rechercher un fichier ou un répertoire dans la structure de répertoires.

Commande Parcourir

Lorsque vous cliquez sur Parcourir, un écran similaire à 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 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. S'il ne contient aucun sous-répertoire, Agent Builder ferme la fenêtre Parcourir et insère le nom du répertoire sur lequel pointe 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 insère le nom du répertoire sur lequel vous avez positionné le curseur dans le champ approprié.


Fonction des icônes situées dans le coin supérieur droit de l'écran :

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

Agent Builder comporte deux menus déroulants : le menu Fichier et le menu Éditer.

Menu Fichier

Le menu Fichier comporte deux options :

Menu Éditer

Le menu Éditer comporte les options suivantes :

Utilisation de l'écran Créer

Écran Créer

La première étape de création d'un type de ressources consiste à renseigner l'écran Créer qui s'affiche au lancement d'Agent Builder. L'illustration suivante présente l'écran Créer une fois que vous avez renseigné les champs.

Figure 9–2 Écran Créer

Boîte de dialogue présentant l'écran Créer une fois les champs renseignés

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


Remarque –

Si le compilateur cc ne figure pas dans la variable $PATH, Agent Builder affiche l'option C en grisé et vous permet de sélectionner l'option ksh. Pour spécifier un compilateur différent, reportez-vous à la remarque figurant à la fin de la rubrique Installation et configuration d'Agent Builder.


Après avoir entré les informations requises, cliquez sur Créer. La fenêtre du journal, en bas de l'écran, présente les actions entreprises 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 le processus de génération d'un type de ressources complet soit composé de deux étapes, vous pouvez quitter Agent Builder une fois la première étape (création) terminée sans perdre les données entrées ou le travail exécuté par Agent Builder. Voir la rubrique Réutilisation d'un travail terminé.


Utilisation de l'écran Configurer

Écran Configurer

L'écran Configurer, présenté ci-après, apparaît une fois qu'Agent Builder a terminé la création du type de ressources et que vous avez sélectionné 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

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

L'écran Configurer contient les champs suivants :

Utilisation de la variable $hostnames korn shell d'Agent Builder

Pour un certain nombre d'applications, notamment les applications compatibles réseau, le nom de l'hôte sur lequel l'application écoute et traite les requêtes des clients doit être transmis à l'application sur la ligne de commande. Souvent, vous devez indiquer le paramètre de nom d'hôte pour les commandes de démarrage, d'arrêt et d'analyse du type de ressources cible (sur l'écran Configurer). Le nom d'hôte d'écoute de l'application est propre au cluster. Il est déterminé lorsque la ressource est exécutée sur un cluster, mais il ne peut pas être déterminé lorsqu'Agent Builder génère le code du type de ressource.

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


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 num_port -l $hostnames

Lorsqu'une ressource du type de ressources cible est exécutée sur un cluster, le nom d'hôte LogicalHostname (NomHôteLogique) ou SharedAddress (AdressePartagée) de cette ressource (défini dans la propriété de ressource Network_resources_used (Ressources_réseau_utilisées) de cette ressource) est remplacé par la valeur de la variable $hostnames.

Si vous configurez la propriété Network_resources_used (Ressources_réseau_utilisées) avec plusieurs noms d'hôte, ils sont tous contenus dans la variable $hostnames, séparés par une virgule.

Variables de propriété

Vous pouvez récupérer dans l'infrastructure du RGM (Resource Group Manager), les valeurs des propriétés de groupe de ressources, de type de ressource et de ressource Sun Cluster sélectionnées, à l'aide des variables de propriété. Agent Builder recherche des variables de propriété dans le script de démarrage, d'analyse ou d'arrêt et les remplace par leur valeur, avant de lancer le script.


Remarque –

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


Liste des variables de propriété

La liste ci-après répertorie les variables de propriété susceptibles d'être utilisées dans les scripts. Les propriétés de groupe de ressources, de type de ressource et de ressource Sun Cluster sont présentées dans Annexe A, Propriétés standard.

La liste ci-dessous présente les variables de propriété de ressource :

La liste ci-dessous répertorie les variables de propriété des types de ressources :

La liste ci-dessous répertorie les variables de propriété des groupes de ressources :

Syntaxe des variables de propriété

Vous devez ajouter le symbole de pourcentage (%) devant un nom de propriété pour indiquer une variable de propriété, comme illustré dans l'exemple suivant :


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

Selon l'exemple ci-dessus, Agent Builder peut interpréter les variables de propriété et lancer le script echo_server avec les valeurs suivantes :


# /opt/network_aware/echo_server -t 300 -n nœud-phys-1,nœud-phys-2,nœud-phys-3

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

La liste ci-dessous présente les clés de l'interprétation des types de variables de propriété par Agent Builder :

Réutilisation d'un travail terminé

Agent Builder permet de réutiliser un travail terminé de l'une des manières suivantes :

Clonage d'un type de ressources existant

Procédez comme suit pour cloner un type de ressources existant généré par Agent Builder :

  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 (contenant le fichier rtconfig) d'un type de ressources existant (créé avec Agent Builder). Agent Builder charge les valeurs du type de ressources sur les écrans Créer et Configurer.

    • Utilisez l'option Charger type de ressources, accessible à partir 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 modifications requises.

    Cette procédure vous permet notamment de modifier le type de code généré pour le type de ressources. Par exemple, si vous avez commencé par créer une version korn shell d'un type de ressources avant de constater qu'il vous faut une version C, vous pouvez charger le type de ressources korn shell existant, remplacer le langage de sortie par C, puis utiliser Agent Builder pour concevoir une version C du type de ressources.

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

    Cliquez sur Créer pour créer le type de ressources. Cliquez sur Suivant pour afficher l'écran Configurer. Cliquez sur Configurer pour configurer le type de ressources, puis cliquez sur Annuler pour terminer.

Édition du code source généré

Pour que le processus de création d'un type de ressources reste simple, Agent Builder limite le nombre d'entrées, ce qui restreint la portée du type de ressources généré. Par conséquent, si vous souhaitez ajouter des fonctions plus complexes (des contrôles de validation de propriétés supplémentaires, par exemple) ou régler des paramètres qu'Agent Builder n'affiche pas, vous devez modifier le code source généré ou le fichier RTR.

Les fichiers sources sont disponibles dans le répertoire répertoire_installation /nom_type_res/src. Agent Builder intègre des commentaires dans le code source là où vous pouvez ajouter un code. Exemple (pour un code C) :


/* Code ajouté par l'utilisateur -- BEGIN vvvvvvvvvvvvvvv */
/* Code ajouté par l'utilisateur -- END   ^^^^^^^^^^^^^^^ */


Remarque –

Ces commentaires sont identiques dans le code source korn shell, à l'exception du signe dièse (#) indiquant le début d'un commentaire.


Par exemple, nom_typ_res.h déclare toutes les routines utilitaires que les différents programmes utilisent. À la fin de la liste des déclarations, vous trouverez des commentaires vous permettant de déclarer les autres routines que vous aimeriez ajouter à n'importe quel code source.

Agent Builder génère également un fichier makefile dans le répertoire répertoire_installation/nom_type_res/src avec les cibles appropriées. Les commandes make et make pkg permettent respectivement de recompiler le code source et de générer de nouveau le package du type de ressources.

Le fichier RTR figure dans le répertoire répertoire_installation/ nom_type_res/etc. Vous pouvez le modifier à l'aide d'un éditeur de texte standard. Voir la rubrique Paramétrage des propriétés de ressources et de types de ressources pour obtenir plus d'informations sur le fichier RTR et l'Annexe A, Propriétés standard pour plus d'informations sur les propriétés.

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

La version de ligne de commande d'Agent Builder s'appuie sur la même procédure de base que l'interface utilisateur graphique. Néanmoins, au lieu de saisir des informations dans l'interface utilisateur graphique, vous devez transmettre les paramètres aux commandes scdscreate et scdsconfig. Voir les pages man de scdscreate(1HA) et scdsconfig(1HA).

Procédez comme suit pour utiliser la version ligne de commande d'Agent Builder :

  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é, décrites sous la rubrique 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.

  5. Éditez le code source généré, si vous le souhaitez.

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