E. Ferro / CNAF / 14 febbraio /13 GRID.it servizi di infrastruttura Enrico Ferro INFN-LNL
E. Ferro / CNAF / 14 febbraio /13 Esperienza Datagrid. Per WP4: Esperienza Datagrid. Per WP4: LCFGng: sistema di gestione e installazione LCFGng: sistema di gestione e installazione In generale: In generale: Repository CVS Repository CVS Sito web Sito web Bug tracking Bug tracking Supporto utenti Supporto utenti Agenda
E. Ferro / CNAF / 14 febbraio /13 LCFGng: cos'e' Sistema per l'installazione e la gestione di farm adottato da Datagrid e' basato su LCFGng, un tool sviluppato all Università di Edinburgo Sistema per l'installazione e la gestione di farm adottato da Datagrid e' basato su LCFGng, un tool sviluppato all Università di Edinburgo In corso la transione dalla precedente versione LCFG) In corso la transione dalla precedente versione LCFG) Caratteristiche: Caratteristiche: architettura client-server architettura client-server installazione automatizzata (floppy/PXE) installazione automatizzata (floppy/PXE) modulare: su ogni nodo agisce un insieme di agenti (componenti), ognuno dei quali attua la configurazione di un servizio modulare: su ogni nodo agisce un insieme di agenti (componenti), ognuno dei quali attua la configurazione di un servizio uno dei componenti effettua l'aggiunta/ upgrade/ downgrade/ rimozione dei pacchetti software su quel nodo(RPM-based) uno dei componenti effettua l'aggiunta/ upgrade/ downgrade/ rimozione dei pacchetti software su quel nodo(RPM-based)
E. Ferro / CNAF / 14 febbraio /13 Server LCFGng Un server mantiene le configurazioni dei clients: Un server mantiene le configurazioni dei clients: descritte mediante coppie nome-valore in files detti sorgenti descritte mediante coppie nome-valore in files detti sorgenti tali files sono compilati ottenendo i profili (files XML) tali files sono compilati ottenendo i profili (files XML) Ogni client e' descritto da 1 profilo (.xml) Ogni client e' descritto da 1 profilo (.xml) I profili sono letti dai clients via HTTP I profili sono letti dai clients via HTTP Normalmente oltre ad HTTP sul server sono attivi i servizi (ma potrebbero essere attivi su altre macchine): Normalmente oltre ad HTTP sul server sono attivi i servizi (ma potrebbero essere attivi su altre macchine): DHCP (installazione) DHCP (installazione) TFTP (se si utilizza il boot PXE) TFTP (se si utilizza il boot PXE) NFS (distribuzione packages RPM + prima installazione) NFS (distribuzione packages RPM + prima installazione)
E. Ferro / CNAF / 14 febbraio /13 Una volta cambiati i sorgenti, lanciando un opportuno comando dal server le modifiche sono propagate ai clients: Una volta cambiati i sorgenti, lanciando un opportuno comando dal server le modifiche sono propagate ai clients: sono ricompilati i profili XML sono ricompilati i profili XML viene inviata una notifica ai demoni in esecuzione sui clients (UDP) viene inviata una notifica ai demoni in esecuzione sui clients (UDP) ogni demone preleva (se necessario) il profilo via HTTP e lo salva in una cache locale (DBM) ogni demone preleva (se necessario) il profilo via HTTP e lo salva in una cache locale (DBM) il demone attiva solo i componenti la cui configurazione e' mutata il demone attiva solo i componenti la cui configurazione e' mutata i componenti aggiornano la configurazione del nodo i componenti aggiornano la configurazione del nodo Uno dei componenti (updaterpms) e' responsabile dell'installazione del software e ha un comportamento leggermente diverso: Uno dei componenti (updaterpms) e' responsabile dell'installazione del software e ha un comportamento leggermente diverso: e' eseguito solo al boot della macchina oppure via cron e' eseguito solo al boot della macchina oppure via cron sincronizza la lista di pacchetti indicata nel profilo del client con i pacchetti installati. NB: pacchetti installati manualmente non presenti nella lista sono rimossi! sincronizza la lista di pacchetti indicata nel profilo del client con i pacchetti installati. NB: pacchetti installati manualmente non presenti nella lista sono rimossi! ovviamente RPM based ovviamente RPM based LCFGng: come funziona (2)
E. Ferro / CNAF / 14 febbraio /13 Client nodes LCFGng Server LCFGng in 1 slide Notification ( UDP ) Source files XML profiles Compiler (mkxprof) HTTP server Download (HTTP) Client Daemon ( rdxprof ) Local cache "Master" Component Components
E. Ferro / CNAF / 14 febbraio /13 Le modifiche alla configurazione dei clients sono eseguite dai componenti Le modifiche alla configurazione dei clients sono eseguite dai componenti Un componente e' uno script shell / perl e si occupa di gestire 1 solo servizio integralmente Un componente e' uno script shell / perl e si occupa di gestire 1 solo servizio integralmente Ogni componente accede solo alle propri parametri di configurazione Ogni componente accede solo alle propri parametri di configurazione Edinburgo ha sviluppato i componenti per gestire i servizi standard: Edinburgo ha sviluppato i componenti per gestire i servizi standard: xinet, syslog, nfs, cron,... xinet, syslog, nfs, cron,... Ne sono stati sviluppati di nuovi per configurare il middleware Datagrid: Ne sono stati sviluppati di nuovi per configurare il middleware Datagrid: globus, information providers, gdmp,... globus, information providers, gdmp,... LCFGng: componenti (1)
E. Ferro / CNAF / 14 febbraio /13 LCFGng: componenti (2) Funzionamento tipico di un componente: Funzionamento tipico di un componente: viene avviato da un componente "manager" all avvio del sistema oppure a seguito di notifica di un cambiamento di configurazione viene avviato da un componente "manager" all avvio del sistema oppure a seguito di notifica di un cambiamento di configurazione carica dalla cache locale la sua configurazione (XML e' utilizzato solo per il trasferimento) carica dalla cache locale la sua configurazione (XML e' utilizzato solo per il trasferimento) configura il servizio di cui e' responsabile, tipicamente scrivendo i files di configurazione e riavviando demoni configura il servizio di cui e' responsabile, tipicamente scrivendo i files di configurazione e riavviando demoni
E. Ferro / CNAF / 14 febbraio /13 LCFGng: creare nuovi componenti Un amministratore può creare nuovi componenti per configurare e gestire le applicazioni: Un amministratore può creare nuovi componenti per configurare e gestire le applicazioni: sul server: definisce nei sorgenti le informazioni di configurazione specifiche del nuovo componente nodo sul server: definisce nei sorgenti le informazioni di configurazione specifiche del nuovo componente nodo nel sorgente del nuovo componente: nel sorgente del nuovo componente: include alcune funzioni condivise con gli oggetti (lettura della propria configurazione, log, output,...) include alcune funzioni condivise con gli oggetti (lettura della propria configurazione, log, output,...) ridefinisce delle funzioni standard (start, reconfig,...) secondo le proprie necessità ridefinisce delle funzioni standard (start, reconfig,...) secondo le proprie necessità Anche i componenti vanno "impacchettati" in RPM per poter essere installati automaticamente Anche i componenti vanno "impacchettati" in RPM per poter essere installati automaticamente
E. Ferro / CNAF / 14 febbraio /13 Datagrid: repository CVS E' stato allestito un repository CVS per tutto il software sviluppato E' stato allestito un repository CVS per tutto il software sviluppato Autobuild: una (complessa!) procedura notturna compila automaticamente il software quando appare una nuova versione (tag) e provvede a pubblicare i nuovi pacchetti presso il sito web Autobuild: una (complessa!) procedura notturna compila automaticamente il software quando appare una nuova versione (tag) e provvede a pubblicare i nuovi pacchetti presso il sito web Via web e' disponibile l'output del processo di compilazione Via web e' disponibile l'output del processo di compilazione
E. Ferro / CNAF / 14 febbraio /13 Datagrid: sito web Tutto il software e' reso disponibile su un sito web sia in formato binario (RPM) che sorgente (SRPM) Tutto il software e' reso disponibile su un sito web sia in formato binario (RPM) che sorgente (SRPM) Documentazione Documentazione Sono presenti anche tutti i pacchetti di terze parti (globus, etc...), in modo da rendere disponibile tutto il software richiesto Sono presenti anche tutti i pacchetti di terze parti (globus, etc...), in modo da rendere disponibile tutto il software richiesto
E. Ferro / CNAF / 14 febbraio /13 Datagrid: bug tracking Bugzilla ( sistema di bug tracking nato per Mozilla Bugzilla ( sistema di bug tracking nato per Mozilla Attraverso un'interfaccia web l'utente sceglie il modulo del software coinvolto e descrive il problema riscontrato Attraverso un'interfaccia web l'utente sceglie il modulo del software coinvolto e descrive il problema riscontrato Il problema e' riportato direttamente al responsabile via mail Il problema e' riportato direttamente al responsabile via mail E' possibile effettuare interrogazioni (ad esempio cercare tutti i bug gia' riportati per quel modulo, sapere quali sono i bug di cui si e' responsabili, etc...) E' possibile effettuare interrogazioni (ad esempio cercare tutti i bug gia' riportati per quel modulo, sapere quali sono i bug di cui si e' responsabili, etc...) Ad ogni bug e' assegnato uno stato (nuovo/assegnato/risolto/etc...) Ad ogni bug e' assegnato uno stato (nuovo/assegnato/risolto/etc...) Gli utenti possono aggiungere commenti ad un bug trovato da altri (es. come risolverlo) Gli utenti possono aggiungere commenti ad un bug trovato da altri (es. come risolverlo) Il sistema "sollecita" il responsabile a risolverlo Il sistema "sollecita" il responsabile a risolverlo Ad ogni cambiamento apportato al bug report lo "scopritore" e il responsabile sono informati via mail. Ad ogni cambiamento apportato al bug report lo "scopritore" e il responsabile sono informati via mail.
E. Ferro / CNAF / 14 febbraio /13 Datagrid/INFNgrid: supporto Questione problematica, puo' consumare molte risorse Questione problematica, puo' consumare molte risorse Mailing list Mailing list Funziona, risposta veloce ma l'informazione non e' indicizzata/raccolta Funziona, risposta veloce ma l'informazione non e' indicizzata/raccolta Forum web: gridsupport.na.infn.it Forum web: gridsupport.na.infn.it Mantiene una storia delle domande e delle risposte, ma fino ad ora e' stato poco usato Mantiene una storia delle domande e delle risposte, ma fino ad ora e' stato poco usato Test-suite Test-suite Un insieme di script per testare un sito prima che "entri" nella grid. Utilissimo, si individuano i problemi piu' frequenti rapidamente, ma va mantenuta e aggiornata ad ogni nuova release Un insieme di script per testare un sito prima che "entri" nella grid. Utilissimo, si individuano i problemi piu' frequenti rapidamente, ma va mantenuta e aggiornata ad ogni nuova release Guida all'installazione Guida all'installazione La documentazione ufficiale per installare un testbed di Datagrid per varie ragioni non e' mai stata "di fruizione agevole" La documentazione ufficiale per installare un testbed di Datagrid per varie ragioni non e' mai stata "di fruizione agevole" Come INFNgrid e' stata recentemente pubblicata una guida dettagliata per installare Datagrid 1.4.3; anche in questo caso la manutenzione non e' banale Come INFNgrid e' stata recentemente pubblicata una guida dettagliata per installare Datagrid 1.4.3; anche in questo caso la manutenzione non e' banale