= Système d'Information = [[TracNav]] [[TOC(inline)]] Dans la grille EGEE/LCG, il existe deux systèmes pour trouver les états deservices. Le principal s'appelle le BDII et est basé sur LDAP. Il sert à décrire les ressources disponibles dans la grille et leur état. L'autre système s'appelle R-GMA (Relational GridMonitoring Architecture). R-GMA est basé sur une base de donnée distribuée. Il est principalement utilisé pour le monitoring des jobs et pour l'accounting. == BDII (LDAP) == Le BDII est basé sur la technologie LDAP qui permet une organisation hiérarchique de l'information. L'information doit adhérer à un ''schema''. Le schéma des informations utilisé par le BDII s'appelle "GLUE". Pour plus de détail, voir la définition du [http://forge.ogf.org/sf/projects/glue-wg GLUE Schema]. === La Commande lcg-infosites === gLite fournit la commande `lcg-infosites` pour interroger le BDII. Elle cache la complexité de la syntaxe de la `ldapsearch`. Le but principal de la commande `lcg-infosites` est d'identifier les ressources disponibles pour une VO particulière. Pour cela on utilise l'option `--vo voname`. Le principal paramètre de cette commande est le type de ressource cherchée : `ce`, `se`, `wms`, `lfc`... Utiliser l'option `--help` pour obtenir la liste de tous les types de service. Note: Il y a plusieurs BDII déployés sur la grille. Le BDII utiliser par la command `lcg-infosites` est défini dans le variable d'environnement LCG_GFAL_INFOSYS. ''Note: l'utilisation de la commande `lcg-infosites` ne nécessite pas d'avoir un proxy.'' __Exercices__ : 1. Utiliser la commande `printenv` pour trouver l'adresse du BDII. C'est quelle machine est quel port? 1. Identifier la liste de tous les ''computing elements'' (CE) accessibles à la VO vo.lal.in2p3.fr. 1. Identifier la liste de tous les ''storage elements'' (SE) accessibles à la VO vo.lal.in2p3.fr. 1. Identifier la liste de tous les WMS (type `wms`) accessibles à la VO vo.lal.in2p3.fr. 1. Identifier la liste de tous les serveurs LFC accessibles à la VO vo.lal.in2p3.fr. 1. Comparer les résultats avec celles d'une autre VO, p.e. dteam. === Usage Direct de LDAP === L'utilisation directe de `ldapsearch` permet des sélections plus complexes ou d'obtenir la valeur de certains attributs particulier. Cela peut être utile pour des besoins particuliers mais l'utilisation de `lcg-infosites` doit être préférée chaque fois que c'est possible. Voir `man ldapsearch` pour un détail de toutes les options et de la syntaxe des requêtes. ''Note: la commande `ldapsearch` est totalement indépendante de la grille et ne nécessite d'avoir un proxy.'' Pour LDAP, chaque entrée possède un identifiant (dn) et une liste d'attributs avec leurs valeurs. La commande `ldapsearch` retourne le DN et les attributs indiqués pour tous les objects sélectionnés par la requête. Par défaut, elle retourne tous les attributs de tous les objets. Le filtre de la requête et la liste des attributs à retourner sont spécifiés par les paramètres après les options : * filtre : doit être une chaine de caractère entre `''` et comportant au moins un signe égal. S'il est présent, il doit être spécifié avant la liste des attributs. Il est possible de construire des requêtes très complexes, Voir `man ldapsearch` et les exemples pour plus d'information. * liste des attributs à retourner : le nom de tous les attributs à retourner séparer par un espace. Dans LDAP, le nom des attributs est '''non''' case sensitive, de même que les recherches sur les chaines de caractères. __Excercices__ (facultatif) : 1. Allez sur le site web [http://gstat-prod.cern.ch/gstat/summary/GRID/EGI/ GStat] et visualisez les différentes informations présentées pour chaque site. Sélectionnez un site (GRIF) puis regardez dans la section "Site Information". 1. Dans la page sélectionnée dans [http://gstat-prod.cern.ch/gstat/summary/GRID/EGI/ GStat] cliquez sur "ldap" (dans la section "Information System Monitoring and Validation") et visualisez les différentes informations. 1. En utilisant la commande '''ldapsearch''', interrogez le top-level BDII `topbdii.grif.fr` pour voir toutes les informations publiés : {{{ ldapsearch -x -h topbdii.grif.fr -p 2170 -b mds-vo-name=local,o=grid }}} 1. Interrogez le top-level BDII `topbdii.grif.fr` de manière à afficher la liste des CE répertoriés, ainsi que les Storage Elements (SEs) associés : {{{ ldapsearch -x -h topbdii.grif.fr -p 2170 -b mds-vo-name=local,o=grid 'objectclass=GlueCESEBind' GlueCESEBindCEUniqueID GlueCESEBindSEUniqueID }}} 1. Listez les CE répertoriés dans le BDII précédent et exécutant la version gLite 3.2. L'attribut `GlueHostApplicationSoftwareRunTimeEnvironment` est utilisé pour trouver les sites équipés avec les logiciels spécifiques. Dans les pages GStat, combien de ''tags'' différents peut-on trouver ? {{{ ldapsearch -x -h topbdii.grif.fr -p 2170 -b 'mds-vo-name=local,o=grid' \ '(&(objectclass=GlueSubCluster)(GlueHostApplicationSoftwareRunTimeEnvironment=GLITE-3_2*))' \ GlueChunkKey }}} 1. Listez ensuite les SE supportant la VO "dteam". Refaites la commande pour la VO vo.lal.in2p3.fr. {{{ ldapsearch -x -h topbdii.grif.fr -p 2170 -b 'mds-vo-name=local,o=grid' \ '(&(objectclass=GlueSATop)(GlueSAAccessControlBaseRule=*dteam))' \ GlueChunkKey GlueSAAccessControlBaseRule }}} 1. Recherchez toutes les VO acceptées par le WMS du VO vo.lal.in2p3.fr. {{{ lcg-infosites --vo vo.lal.in2p3.fr wms ldapsearch -x -h topbdii.grif.fr -p 2170 -b 'mds-vo-name=local,o=grid' \ '(&(objectclass=GlueService)(GlueServiceUniqueId=*node27.datagrid.cea*))' GlueServiceOwner }}} 1. Recherchez les tags logiciels présents sur les CEs du site GRIF {{{ ldapsearch -x -h topbdii.grif.fr -p 2170 \ -b 'mds-vo-name=GRIF,mds-vo-name=local,o=grid' \ objectclass=GlueSubCluster \ GlueHostApplicationSoftwareRunTimeEnvironment }}} === lcg-info === The "lcg-info" command is similar to the "lcg-infosites" except that it is used to list either CE's or SEs satisfying a given set of conditions on their attributes and to print, for each of them, the values of a given set of attributes. 1. The first step is to view the list of attributes available for both the matching and printing aspects of ‘lcg-info’ : {{{ lcg-info --list-attrs }}} 1. "lcg-info" is very similar to the usage of the "Requirements" tag in a JDL file along with the command "glite-job-list-match". The "lcg-info" command can therefore be useful when constructing the "Requirements" tag in a JDL file. Note that "lcg-info" does not in most (but not all) cases need a VO to be specified. {{{ lcg-info --vo vo.lal.in2p3.fr --list-ce --query 'Tag=MPICH' --attrs 'FreeCPUs,Tag' }}} 1. "lcg-info" can also query the attributes of CE's and searches for the closest CE to the SE "polgrid4.in2p3.fr". {{{ lcg-info --list-se --query 'SE=polgrid4.in2p3.fr' --attrs CloseCE }}} __Exercice__ : Rechercher la WallTime et le CpuTime Maximal pour les CEs de votre VO {{{ lcg-info --vo vo.lal.in2p3.fr --list-ce --query 'CEVOs=VO:vo.lal.in2p3.fr' --attrs 'MaxCPUTime,MaxWCTime' }}} == R-GMA (Relational Grid Monitoring Architecture) [NPF] == R-GMA est [wiki:Tutorial/ObsoleteRgma obsolète].