L'écran Configurer, illustré ci-après, apparaît une fois qu'Agent Builder a terminé de créer le type de ressources et que vous avez cliqué sur le bouton Suivant de l'écran Créer. Vous ne pouvez pas accéder à l'écran Configurer avant d'avoir créé le type de ressources.
L'écran Configurer contient les champs suivants :
Commande de démarrage : ligne de commande complète pouvant être transférée à n'importe quel shell UNIX pour lancer l'application de base. Nous vous recommandons de spécifier cette commande. Vous pouvez entrer cette commande dans le champ correspondant ou localiser le fichier contenant la commande de démarrage de l'application à l'aide du bouton Parcourir.
La ligne de commande complète doit contenir toutes les informations requises pour démarrer l'application (noms d'hôte, numéros de port, chemin d'accès aux fichiers de configuration, etc.). Si votre application nécessite d'indiquer un nom d'hôte sur la ligne de commande, utilisez la variable $hostnames définie par Agent Builder (reportez-vous à la rubrique Utilisation de la variable $hostnames d'Agent Builder).
N'utilisez pas de guillemets (““) avec la commande.
si l'application de base comprend plusieurs arborescences de processus indépendantes et que chaque processus est exécuté à partir de sa propre balise sous la fonction PMF, vous ne pouvez pas indiquer une seule commande. Vous devez plus exactement créer un fichier texte contenant les commandes individuelles de démarrage de chaque arborescence de processus et indiquer le chemin d'accès à ce fichier dans le champ Commande de démarrage. Reportez-vous à la rubrique Création de types de ressources contenant plusieurs arborescences de processus indépendantes. Vous y découvrirez quelques-unes des caractéristiques spécifiques que requiert ce fichier pour fonctionner correctement.
Commande d'arrêt : ligne de commande complète pouvant être transférée à n'importe quel shell UNIX pour arrêter l'application de base. Vous pouvez entrer cette commande dans le champ correspondant ou localiser le fichier contenant la commande d'arrêt de l'application à l'aide du bouton Parcourir. Si votre application nécessite d'indiquer un nom d'hôte sur la ligne de commande, utilisez la variable $hostnames définie par Agent Builder (reportez-vous à la rubrique Utilisation de la variable $hostnames d'Agent Builder).
Cette commande est facultative. Si vous n'indiquez pas de commande d'arrêt, le code généré utilise les signaux (de la méthode Arrêt) pour arrêter l'application, comme suit :
La méthode Arrêt envoie le signal SIGTERM pour arrêter l'application et laisse s'écouler 80% du délai d'attente pour que l'application se ferme.
Si le signal SIGTERM échoue, la méthode Arrêt envoie le signal SIGKILL pour arrêter l'application et laisse s'écouler 15% du délai d'attente pour que l'application se ferme.
Si le signal SIGKILL échoue, la méthode Arrêt ne ferme pas l'application correctement (les 5% restants du délai d'attente sont considérés comme du temps supplémentaire).
veillez à ce que la commande d'arrêt ne soit pas renvoyée avant l'arrêt complet de l'application.
Commande de détection : commande que vous pouvez exécuter périodiquement pour vérifier la maintenance de l'application et obtenir un état de sortie compris entre 0 (succès) et 100 (échec total). Cette commande est facultative. Vous pouvez entrer le chemin d'accès complet à cette commande ou localiser le fichier contenant la commande de détection de l'application à l'aide du bouton Parcourir.
En règle générale, vous indiquez un client unique de l'application de base. Si vous n'indiquez pas de commande de détection, le code généré se contente de se connecter au port utilisé par la ressource puis de se déconnecter. Si cette opération réussit, l'application est déclarée comme étant parfaitement opérationnelle. L'utilisation d'une commande de détection n'est possible qu'avec les applications réseau. Agent Builder génère toujours une commande de détection mais désactive cette fonction avec les applications non prévues pour être utilisées en réseau.
Si votre application nécessite d'indiquer un nom d'hôte sur la ligne de commande de détection, utilisez la variable $hostnames définie par Agent Builder (reportez-vous à la rubrique Utilisation de la variable $hostnames d'Agent Builder).
Délai d'attente : (par commande) : délai d'attente en secondes pour chaque commande. Vous pouvez indiquer une nouvelle valeur ou accepter la valeur par défaut fournie par Agent Builder (300 secondes pour le démarrage et l'arrêt et 30 secondes pour la détection).
Pour de nombreuses applications, notamment les applications réseau, le nom d'hôte sur lequel l'application écoute et gère les requêtes des clients doit ê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 pour les commandes de démarrage, d'arrêt et de détection du type de ressources cible (dans l'écran Configurer). Par contre, le nom d'hôte est propre au cluster. Il est déterminé à l'exécution de la ressource sur un cluster et ne peut pas l'être lorsqu'Agent Builder génère le code de votre type de ressources.
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. Vous spécifiez la variable $hostnames exactement comme vous indiqueriez un nom d'hôte réel. Exemple :
/opt/network_aware/echo_server -p n°_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) configuré pour cette ressource (dans la propriété de ressource Ressources_réseau_utilisées de cette ressource) est remplacé par la valeur de la variable $hostnames.
Si vous configurez la propriété Ressources_réseau_utilisées avec plusieurs noms d'hôte, ils apparaissent tous dans la variable $hostnames, séparés par des virgules.
Agent Builder peut créer des types de ressources pour les applications intégrant plusieurs arborescences de processus indépendantes. Ces arborescences de processus sont indépendantes dans le sens où la fonction PMF les contrôle et les démarre individuellement. La fonction PMF démarre chaque arborescence de processus avec sa propre balise.
Agent Builder ne vous permet de créer des types de ressources contenant plusieurs arborescences de processus indépendantes que si le code source généré que vous spécifiez est C. Vous ne pouvez pas utiliser Agent Builder pour créer ces types de ressources pour ksh ou GDS. Pour ce faire, vous devez écrire le code manuellement.
Dans le cadre d'une application de base contenant plusieurs arborescences de processus indépendantes, la spécification d'une ligne de commande unique ne suffit pas pour démarrer l'application. Dans ce cas, vous devez créer un fichier texte dont chaque ligne indique le chemin d'accès complet à une commande permettant de démarrer l'une des arborescences de processus de l'application. Ce fichier ne doit contenir aucune ligne vide et être spécifié dans le champ Commande de démarrage de l'écran Configurer.
Vous devez vous assurer qu'il ne contient aucune autorisation d'exécution, ce qui permet à Agent Builder de distinguer ce fichier visant à démarrer plusieurs arborescences de processus d'un simple script exécutable contenant plusieurs commandes. Si ce fichier texte contient des autorisations d'exécution, les ressources s'affichent sans problème ni erreur sur le cluster mais toutes les commandes sont exécutées sous une seule balise PMF. Le cas échéant, la fonction PMF ne peut pas contrôler et redémarrer individuellement les arborescences de processus.