Amministrazione e configurazione dell’interfaccia
Alessio Rocchi
ENEA Frascati – 01.03.2010
Sommario
• Architettura
• Amministrazione di FARO
• Best practices e troubleshooting
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Architettura
• Applicazione integrata
– Archivio Java
• /afs/enea.it/project/eneagrid/sw_nx/binaries/egl/EGBL.jar
– Web companion
• /afs/enea.it/project/eneagrid/html
– Software launchers
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Amministrazione (1)
• Il run di un’applicazione avviene in tre modi
– SSH (Xterm su macchine che supportano SSH Caspur)
– Lsrun (Xterm su tutte le altre macchine)
– Bsub (Applicazioni complesse. Es.: IDL)
• Si è deciso di eseguire le applicazioni “semplici”
(attualmente: Konqueror, Firefox, Nedit) sullo stesso
frontend di esecuzione dell’interfaccia.
• Il lancio di un’applicazione avviene su tre livelli distinti
– Individuazione della risorsa su cui far girare l’applicazione
– Esecuzione di un wrapper per il binario dell’applicazione
– Esecuzione dell’applicazione vera e propria
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Amministrazione (2) - Risorse
• Le risorse che individuano le piattaforme di
esecuzione sono definite in tre file XML
distinti
– Regular platforms
– Special platforms
– Windows RDP
AFS path:
/afs/enea.it/project/eneagrid/sw_nx/binaries/egl/regular_fends.xml
/afs/enea.it/project/eneagrid/sw_nx/binaries/egl/special_fends.xml
/afs/enea.it/project/eneagrid/sw_nx/binaries/egl/win_frontends.xml
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Amministrazione (3) – Esempio
Snippet da regular_fends.xml
<?xml version="1.0" encoding="UTF-8" ?>
<ENEAGRID>
<OS name="LINUX">
<Cluster type="Intel Cresco Portici">
<Resource lsrun="0">crescofx && frontend</Resource>
</Cluster>
SSH
[…]
<Cluster type="Intel Campus03">
<Resource lsrun="1">campus03</Resource>
</Cluster>
lsrun
</OS>
<OS name="AIX">
[…]
</OS>
</ENEAGRID>
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Capire e modificare un file di
configurazione
• Alcune semplici regole
– Ad ogni tag di apertura (es: <OS>, <Resource>, …) deve seguire sempre
un tag di chiusura (es: </OS>, </Resource>, …)
• Errori di sintassi = FARO esce lanciando un’eccezione di parsing!
– Il marcatore <OS> indica il nome del sistema operativo che compare
nella combobox di sinistra
– L’attributo “type” del tag <Cluster> indica l’alias che deve comparire
nella combobox di destra
<OS>
<Cluster>
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Capire e modificare un file di
configurazione (2)
• L’attributo lsrun del tag <Resource> assume il
valore 0 se, sulla macchina individuata nel
cluster di risorse indicato, è possibile eseguire
i comandi tramite SSH passwordless. Viceversa
lsrun=1.
• Aggiungere, rimuovere o modificare una
risorsa è trasparente
– Vos release fra.p.eneagrid.sw_nx
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Capire e modificare un file di
configurazione (3)
•
•
•
Quanto detto vale come linea guida generale.
Le sessioni RDP vengono gestite in maniera analoga (win_frontends.xml)
E’ possibile eseguire da FARO sessioni RDP anche su macchine non appartenenti
alla GRID (es: altri computer utente), diventando perciò un vero e proprio client
RDP via web.
– Basta avere in $HOME un file di configurazione analogo, chiamato sempre
win_frontends, in cui cambieranno solo i due attributi
• Address
• Name
<?xml version="1.0" encoding="UTF-8" ?>
<ENEAGRID>
<Host address="192.107.100.92" name="General applications"
geometry="1024x768"></Host>
</ENEAGRID>
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
I lanciatori dei software
• FARO supera un problema della vecchia
interfaccia ENEA-GRID, consentendo all’utente
di avere feedback immediato sullo stato di run
di un’applicazione
– “Help set” Progress Bar + Label nella parte inferiore della
main window
– Il binario di un software non dà, da solo, informazioni utili
a capire cosa sta succedendo
• E’ necessario un wrapper!
• I wrapper si trovano in
/afs/enea.it/project/eneagrid/software_nx/binaries/egl/launchers
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Best practices e troubleshooting
Chiusura della sessione
• Usare *sempre* il pulsante “Exit” presente
sull’applet di connessione
– Una sessione per account ad ogni istante: Se la
sessione rimane aperta (se i file descriptor non
vengono chiusi), è necessario procedere con kill
manuale della sessione e dei processi che
detengono l’ownership sui file descriptor.
– E’ in corso di lavorazione l’implementazione di un
NX Watchdog che dovrebbe ovviare a questo
problema.
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Best practices e troubleshooting 2
Gestione delle chiusure scorrette
• Capita che i file descriptor vengano chiusi
(timeout del sistema operativo per inattività
su un socket dati), ma sussistano inconsistenze
tra lo stato reale della connessione (ovvero
non più attiva) e quello percepito da NX (che
ha bisogno di registrare su disco che la
sessione sia effettivamente chiusa)
– Cancellazione della $AFS_HOME/.nx
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Best practices e troubleshooting 3
Operazioni client-side (1)
• La versione della JVM sul client può fare la
differenza tra una buona user experience e una
cattiva.
– FARO è compilato su Linux/Sun JDK 1.6.0_18
– L’esperienza conferma che Linux/OpenJDK 6 (installato
su CRESCO) esegue bene
– Versioni inferiori (o comunque differenti) a livello del
client possono condurre a problemi di gestione di
mouse events
– Aggiornamento vivamente consigliato a JVM 1.6.0_18
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Best practices e troubleshooting 3
Operazioni client-side (2)
• Windows Vista/7
– Lo User Account Control (UAC) può creare
problemi di installazione del plugin. E’ consigliato
eseguire il browser come amministratore prima di
procedere.
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Best practices e troubleshooting 3
F.A.Q List
• All’indirizzo
http://www.eneagrid.enea.it/faro/docs/faq_en.html
E’ presente una lista di FAQ riguardanti l’interfaccia FARO.
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java
Grazie per l’attenzione
DOMANDE?
Alessio Rocchi – Frascati 01.01.2010 – FARO: Interfaccia Java