Autres facilités
Plusieurs facilités, simplifiant les traittements réalisées au Centre de calcul, sont proposées avec le projet ErosDb.
- jrun assure le lancement d'une application Java
- AuthorizationManager gère les autorisations d'accès à la base de données
- JargonNIOConfigure gère les autorisations d'accès à Irods
- Qsubmit facilite la soumission de batchs au Centre de calcul
- ShowContext décrit le contexte d'utilisation d'ErosDb
jrun
jrun permet de lancer une application Java du projet en indiquant le nom de sa classe principale. Cette situation est bien adaptée aux applications dont l'usage est assez spécifique ou plutôt ponctuel. Pour les applications d'un intérêt plus général, des scripts de lancement pour Windows et UNIX sont mis en place. Ces scripts permettent d'activer les classes Java en définissant tout l'environnement d'exécution.
A l'opposé, jrun effectue une recherche dans les différents répertoires et dans les librairies liées au projet afin d'identifier l'application à activer.
L'application RawCurve par exemple, destinée à présenter les mesures d'une étoile en lisant directement les fichiers de suivi, n'est certainement pas d'un usage général. Elle n'est donc pas associée à un script d'activation. Cette application correspond à la classe Java eros.erosdb.suivis.RawCurve. jrun permet de la lancer directement par son nom simple, comme dans l'exemple suivant:
% jrun RawCurve -help
Usage: RawCurve <starid> <suivis>...
Extraction des mesures brutes d'une étoile depuis un ou plusieurs suivis
pour les présenter dans un format similaire aux courbes de lumière.
with:
-debug: report debug messages
-help: application on-line help
-reduce: réduction et tri des mesures
-usage: application usage
-verbose: report verbose messages
arguments:
starid: identification de l'étoile
suivis: suivis à traiter
En cas d'ambiguïté, si par un malencontreux hasard plusieurs classes portaient le même nom, il est possible d'indiquer le nom complet de la classe principale.
Authorization Manager
AuthorizationManager est le gestionnaire des droits d'accès à la base de données ErosDB, décrit dans La configuration ErosDb.
Cette application est un bon exemple des applications utiles mais rarement utilisées. Elle s'active donc par jrun.
Elle supporte deux opérations distinctes: l'installation des fichiers d'accès à la base de données et l'encodage d'un fichier.
Une aide en ligne est disponible grâce à l'option -help.
% jrun AuthorizationManager -help
Usage: AuthorizationManager <command>...
Gestionnaire des autorisations d'acces a la base de donnees.
- install: installation des parametres d'acces.
- encode: codage du fichier de parametres.
- help [<command>]: description de la commande ou des commandes.
with:
-debug: report debug messages
-help: application on-line help
-usage: application usage
-verbose: report verbose messages
arguments:
command: la commande a executer
La description des différentes commandes est fournie grâce à la commande help.
Installation des autorisations
install [-repository <path>] [-references <path>]
Installation locale des autorisations d'acces a la base de donnees.
Le depot par defaut est <HOME>/.erosdb/authorizations.
with:
-references: la source des autorisations
-repository: le depot local
L'installation du fichier d'autorisation consiste à recopier depuis un dépôt de référence une version encodée du fichier, à le décoder grâce à un mot de passe indiqué par l'utilisateur, à le recoder avec des paramètres dépendant du nom de l'utilisateur et du site d'exécution, et à installer ce fichier dans le répertoire de configuration de l'utilisateur.
Le dépôt de référence est défini dans le fichier de configuration du projet, distribué avec son kit, ou redéfinit localement par l'administrateur. Il est aussi possible de sélectionner un autre dépôt grâce à l'option -references.
Le répertoire de configuration de l'utilisateur est typiquement
un sous-répertoire de son répertoire principal - son HOME -
portant le nom du projet, converti en minuscules - ici donc erosdb.
Attention toutefois pour les utilisateurs de Cygwin ou MinGw sous Windows: le répertoire de l'utilisateur est identifié par la propriété système Java user.home. Il s'agit donc du HOME Windows de l'utilisateur et non du $HOME Cygwin ou MinGw.
L'option -repository permet à l'utilisateur de désigner un autre
répertoire pour y installer les autorisations d'accès à la base
de données. Ce répertoire est enregistré dans le fichier général
de configuration
Encodage d'un fichier
encode <authorization.xml> [-encoded <encoded.xml.pbe>]
Codage du fichier d'autorisation indique.
Le mot de passe a utiliser est saisi au terminal.
with:
-encoded: nom du fichier converti
arguments:
authorization: le fichier d'autorisation a coder
La commande d'encodage est destinée à l'administrateur du dépôt de référence des autorisations d'accès à la base de données. Elle permet d'encoder un fichier d'autorisation avec un mot de passe pouvant être transmis ensuite aux utilisateurs.
Attention: l'application ne prend pas en charge la protection du dépôt de référence. L'utilisation d'un système de fichiers supportant des autorisations d'accès par utilisateur ou groupe d'utilisateurs - typiquement sous la forme d'ACL - recommandé.
JargonNIO Configure
JargonNIOConfigure met en place la configuration Irods pour les besoins d'ErosDb. En effet, l'accès à Irods est contrôler par un mot de passe. Pour réaliser des opérations en batch, ce mot de passe doit être conservé dans un fichier d'où les applications peuvent le lire et le transmettre au serveur. Bien évidemment, le mot de passe est brouillé pour ne pas être décodé par des utilisateurs non autorisés. Et bien évidemment, le décodage de ce mot de passe est rendu très difficile. Pour contourner cette difficulté, ErosDb enregistre son propre mot de passe codé. C'est le rôle de JargonNioConfigure.
JargonNioConfigure vérifie l'existence d'une configuration Irods. Si c'est le cas, les paramètres du fichier de configuration sont présentés à l'utilisateur qui les accepte en répondant simplement aux questions par un retour-chariot. Sinon, les réponses doivent être fournies.
Bien évidemment, le mot de passe doit être explicitement saisi.
JargonNioConfigure ne propose qu'une seule option: la possibilité de se connecter ou non au serveur afin de valider les paramètres saisis.
L'application s'utilise assez rarement, au plus une fois pour un site donné. Son usage se fait grâce à la commande d'activation jrun.
jrun JargonNIOConfigure [-[no]connect]
Le fonctionnement par défaut est de contacter le serveur pour établir une première connexion avec les paramètres saisis. L'option -noconnect interdit cette première connexion.
Qsubmit
Qsubmit facilite la soumission de jobs batchs sur la ferme de calcul Grid Engine du Centre. L'application construit le script de soumission du job et le lance en invoquant la commande GE qsub.
Pour l'essentiel, l'application reprend les principales options de qsub, mais de manière un peu plus compréhensible.
à préciser
Show Context
ShowContext présente les principaux paramètres d'exécution de l'environnement ErosDb.
Cet utilitaire constitue essentiellement une aide en cas de soucis dans l'utilisation des applications de l'environnement.
Exemple à Lyon
% ShowContext
User name: albert
Project name: ErosDb
Project id: erosdb
Project release: 7.2
Project version: 7.2.1
Project build date: 15-mai-2021 13:03 UTC
Project properties: file:/sps/eros/softs/ErosDbIII/ErosDb-7.2.1/etc/project.properties
Project home directory: /pbs/home/a/albert/softs/ErosDbIII/new
Site properties: null
User home directory: /pbs/home/a/albert
Current directory: /pbs/home/a/albert
Projet database: null
Database access mode: null
Project repositories: /pbs/home/a/albert/.erosdb/authorizations
Execution platform: Linux
Architecture model: 64
Java version: 16, run-time version: 16.0.1+9-24
Batch project: P_eros
Temporary directory: /scratch/users/a/albert