Il est possible de contrôler une ou plusieurs instance TULIP depuis une instance maître. Pour ce faire, il est nécessaire d’effectuer les déclarations de commander réseau dans les fichiers de configuration.

 

Elément <COMMANDER> instanciant un commander. Celui-ci peut être de trois types, comme positionné par l’attribut "MODE".

            LOCAL : commander prenant comme entrée le clavier. Ce mode permet le contrôle interactif d’une instance tulip. Dans ce cas, seul l’attribut "NAME" est utilisé pour identifier l’instance en cours.

            REMOTE : commander réseau maître, situé sur une autre machine. Dans ce cas, l’instance tulip est contrôlée par une autre instance du réseau. Le FQDN distant (fully qualified domain name) ou l’IP distante, est contenu dans l’attribut « HOST». L’attribut « PORT » contient le port TCP local. L’attribut "NAME" n’est pas utilisé. Les attributs LOG + STATS permettent de rediriger les flux de log ou statistiques vers le commander réseau, ou de garder la sortie locale.

            SERVER : commander réseau esclave, situé sur une autre machine. Les champs HOST/PORT identifient l’adresse réseau/port du commander. L’attribut "NAME" identifie le commander réseau. Les attributs LOG/STATS ne sont pas utilisés.

 

Côté Maître :

<COMMANDER MODE="SERVER" NAME="xxx" HOST="xxx » PORT="xxx"/>

 

Il est également possible de déclarer un commander local en plus :

 

<COMMANDER/>

 

Côté Esclave :

<COMMANDER MODE="REMOTE" HOST="xxx" PORT="xxx" LOGS="LOCAL" STATS="LOCAL"/>

 

Le contrôle à distance peut être utilisé de deux manières :

 

1)      Exécution distante de séquentiel

 

La commande <RSEQ> permet l’exécution d’un séquentiel par l’instance TULIP sous contrôle. Ce séquentiel est exécuté par l’agent commander de l’instance distante.

 

Exemple :

<RSEQ COMMANDER=”COMMANDER1” VAR_OUTPUT=”VAR”>

<PRINT>Executed from remote</PRINT>

</RSEQ>

 

Ici, une variable de stockage est spécifiée (attribut VAR_OUTPUT), donc la sortie standard distante est stockée dans cette variable.

 

2)      Utilisation d’un agent distant de type POOL

 

TULIP propose des primitives permettant la sélection/contrôle d’un agent distant parmi un pool d’agents. Un agent ne peut avoir au maximum qu’un agent POOL associé. Un agent POOL est un agent déclaré dans le fichier de configuration avec l’attribut TYPE=POOL. Cet agent, une fois lancé, reste en attente de sélection.

Il est possible au séquentiel maître d’utiliser les primitives suivantes :

 

            <SELECT_POOL_AGENT>: selection d’un agent POOL. Il est possible de spécifier le commander distant (attribut “COMMANDER”). L’agent POOL reste inactif, mais est maintenant associé à un agent maître tant que celui-ci est en exécution et que l’agent POOL n’est pas terminé.

 

<ACTIVATE_POOL_AGENT>: activation d’un agent POOL déjà sélectionné et non activé. L’agent POOL démarre son exécution. En fin d’exécution, l’agent POOL n’est plus sélectionné.

 

<RESET_POOL_AGENT>: remise à zéro d’un agent déjà activé. L’agent POOL n’est ensuite plus sélectionné, son exécution est interrompue et l’agent POOL est redémarré. L’agent maître peut à nouveau sélectionner un agent POOL.

 

<WAIT_POOL_AGENT>: commande bloquante tant que le pool agent sélectionné et activé par l’agent en cours n’est pas terminé. L’agent maître peut à nouveau sélectionner un agent POOL.

 

<GET_PARAM_POOL_AGENT>: cette primitive permet d’interroger un agent pool. Elle renvoie la valeur courant d’un paramètre de trafic et la place dans une variable spécifiée.

 

<SET_PARAM_POOL_AGENT>: positionne un paramètre de trafic de l’agent POOL sélectionné. L’agent n’a pas besoin d’être activé. Si le paramètre n’existe pas, il est créé.

 

<GET_PORT_POOL_AGENT>: cette primitive permet d’interroger un agent pool. Elle renvoie la valeur courant du port associé à l’agent POOL.

 

 

ControleDistant
 
Accueil
Applications
Téléchargements
Commandes TULIP
Documentation
Plugins
Nous contacter