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 &amp;&amp; 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