Vous pouvez utiliser des collecteurs, des manifestes et des sélecteurs ensemble
pour sélectionner une ressource serveur lors de l'exécution d'un projet ou d'une étape.
Trois objets de données différents permettent au système de sélectionner dynamiquement des serveurs :
- Un collecteur est un objet définissant l'ensemble de propriétés
collectées à partir d'une ressource système ou attribuées à cette même ressource par le système. Le système exécute
un collecteur lorsqu'il vérifie les propriétés d'une ressource serveur.
Les valeurs de propriété collectées sont stockées dans un manifeste.
- Un manifeste est une liste des propriétés relatives à un serveur spécifique.
Il contient les résultats de l'exécution d'un collecteur.
- Un sélecteur est une liste de propriétés et de comparaisons comme
MEM_TOTAL = 512. Le système peut comparer les propriétés d'un sélecteur à un manifeste
pour vérifier si un serveur satisfait aux exigences d'un sélecteur spécifique. Les projets et les étapes indiquent un sélecteur comme l'une de leurs propriétés.
Lors de l'exécution du projet ou de l'étape, le sélecteur est comparé au manifeste de toutes les ressources serveur définies afin de choisir la ressource serveur sur laquelle exécuter le projet ou l'étape.
L'exemple suivant montre comment créer et utiliser un sélecteur simple :
- Créez une ressource serveur appelée Mercure et associez-la à un agent.
- Créez un sélecteur appelé Mercure. Configurez-le afin qu'il sélectionne les serveurs
possédant la valeur BF_NAME = Mercure.
- Créez un projet appelé Lincoln. Attribuez-lui le sélecteur Mercury.
Lorsque vous exécutez le projet Lincoln, le système sélectionne la ressource
serveur appelée Mercure. Si cette ressource serveur n'est pas disponible,
le projet échoue.
L'exemple suivant montre comment configurer une sélection de serveur dynamique dans un ensemble de serveurs :
- Créez un collecteur appelé RAMSIZE. Configurez-le de sorte à ce qu'il collecte la propriété intégrée
MEM_TOTAL.
- Créez des ressources serveur à associer aux hôtes. Configurez chacune des ressources
de sorte à qu'elle utilise le collecteur RAMSIZE.
- Mercure, un hôte possédant 512 Mo de mémoire vive
- Mars, un hôte possédant 1 Go de mémoire vive
- Jupiter, un hôte possédant 3 Go de mémoire vive
- Créez un sélecteur appelé BigRam. Configurez-le de sorte à ce qu'il sélectionne une propriété standard,
property=MEM_TOTAL, Operator=GE (supérieur ou égale), et la valeur=
2048.
La propriété MEM_TOTAL est exprimée en Mo. Ce sélecteur sélectionne uniquement les
hôtes possédant 2 Go de mémoire vive ou plus.
- Créez un sélecteur appelé SmallRam. Configurez-le de sorte à ce qu'il sélectionne une propriété standard,
property=MEM_TOTAL, Operator=GE (supérieur ou égale), et la valeur=
256. Ce sélecteur sélectionne uniquement les
hôtes possédant 256 Mo de mémoire vive ou plus.
- Créez deux projets :
- HighMaint : définissez ce projet pour utiliser le sélecteur BigRam.
- LowMaint : définissez ce projet pour utiliser le sélecteur SmallRam.
Lorsque vous exécutez HighMaint, le système sélectionne le serveur Jupiter
car il s'agit du seul serveur qui satisfait à l'exigence du sélecteur de posséder
2 Go de mémoire vive.
Lorsque vous exécutez LowMaint, le système sélectionne l'une des trois ressources
serveur disponibles.
Si vous ajoutez par la suite une ressource serveur appelée Neptune pour un hôte possédant
2 Go de mémoire vive, la prochaine fois que le projet HighMaint s'exécute,
Neptune ou Jupiter est sélectionnée pour le projet. Si Jupiter ne fonctionne pas
pour une raison quelconque, Neptune est alors sélectionnée, car il s'agit de la seule ressource
serveur correspondant au sélecteur.