Changes between Version 2 and Version 3 of Tutorial/VOSoftware


Ignore:
Timestamp:
Jun 11, 2008, 10:28:09 PM (17 years ago)
Author:
jouvin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Tutorial/VOSoftware

    v2 v3  
    33
    44[[TOC(inline)]]
     5
     6
     7Sur chaque CE qui la supporte, une VO dispose d'un espace connu sous le nom de ''software area'' destiné à contenir l'ensemble des logiciels spécifiques à la VO. C'est en général indispensable pour les applications utilisant de nombreuses librairies où il est impossible de tout transmettre avec chaque job.
     8
     9Il y a une ''software area'' par VO. Elle est accessible en lecture à tout le monde mais le droit d'écriture est restreint à un rôle particulier dans la VO appelé `Software Manager`. Le nom exact de ce rôle peut varier suivant la VO mais il doit être déclaré par la VO dans son [https://cic.gridops.org/index.php?section=vo identity card].
     10
     11Chaque VO peut par ailleurs publier des ''tags'' dans le [wiki:Tutorial/SystemInfo système d'information] qui servent généralement à refléter le contenu de la ''software area''.
     12
     13== Référencer la VO Software Area ==
     14
     15Pour référencer le contenu de la VO Software Area depuis un job, par exemple pour lancer une application, il faut utiliser la variable d'environnement `VO_VONAME_SW_DIR`, avec `VONAME` égal au nom de la VO en majuscule.
     16
     17''Note : si le nom de la VO est de la forme `vo.dom.ain`, les `.` sont remplacés par des `_`. Par exemple pour la VO `vo.lal.in2p3.fr`, le nom de la variable sera `VO_VO_LAL_IN2P3_FR_SW_DIR` (le premier `VO_` ne fait pas partie du nom de la VO).''
     18
     19Pour une VO donnée, la valeur de cette variable varie d'un site à l'autre. Il ne faut donc jamais utiliser directement la valeur dans un job et toujours utiliser la variable d'environnement.
     20
     21== Gérer la VO Software Area ==
     22
     23=== Gérer le Contenu de la SW Area ===
     24
     25La gestion du contenu de la ''software area'' se fait normalement en soumettant un job avec le rôle ''Software Manager''. Ce job possède alors tous les droits sur la ''software area'' et peut ajouter ou supprimer des choses, par exemple des versions d'application.
     26
     27L'utilisation d'un job standard laisse une grande flexibilité sur la façon d'installer un logiciel :
     28 * Reconstruction depuis les sources, fournies avec le job ou récupérer depuis un repository de code source du type CVS ou SVN.
     29 * Installation de binaires précompilés
     30 * Utilisation d'un storage element pour stocker une archive installée sur chaque CE ou de l'input sandbox si l'application n'est pas trop volumineuse
     31 
     32Il est important de penser à supprimer les choses inutiles. Le gestionnaire de la VO doit normalement indiquer la taille typique de la ''software area'' pour la VO. Raisonnablement il ne faut pas dépasser quelques GB.
     33
     34=== Publier le Contenu de la SW Area ===
     35
     36Tous les sites supportant une VO donnée n'ont pas nécessairement les mêmes applications ou les mêmes versions installées. Pour pouvoir sélectionner un site approprié à une application, la VO doit publier un ou des ''tags'' reflétant les ressources disponibles sur le site.
     37
     38Les ''tags'' sont des noms arbitraires définis par la VO. Ils n'ont pas de sens en dehors de la VO mais leur syntaxe doit obéir au format suivant et ne contenir que des caractères alphanumériques ainsi que `.`, `,`, `:` et `/` :
     39{{{
     40VO-voname-voinfo
     41}}}
     42
     43Par exemple :
     44{{{
     45VO-dteam-geant42ndProd_p02
     46}}}
     47
     48La publication du tag nécessite aussi le rôle production. Elle peut se faire soit depuis un UI, soit depuis un job de validation.
     49
     50La commande de gestion des tags est `lcg-ManageVOTag` et sa syntaxe est :
     51{{{
     52lcg-ManageVOTag -host <host> -vo <voname> [--add|--list|--remove|--replace] -tag <tagname1> <tagname2> <tagname3> ...
     53}}}
     54
     55Quand on utilise l'option `--list`, l'option `-tag` doit être omise. `host` est le nom du CE. Pour plus de détail utiliser l'option `--help`.