Accounting dei job locali in IGI
Questa pagina e' rivolta agli amministratori dei siti di IGI ed ha lo scopo di documentare la procedura da seguire per accountare correttamente i job locali eseguiti
nell'infrastruttura di IGI.
Prima di questa procedura e' riportata la logica usata da DGAS per definire un job
locale o
Grid.
Viene anche descritto come i job locali vengono visualizzati in HLRmon.
La decisione se accountare o meno i job locali (oltre a quelli Grid) tramite DGAS e' lasciata al sito.
Il Support Team di IGI ritiene che, nel caso in cui tra i job locali ci sia una parte di job di utenti di VO di Grid, e' auspicabile che questi vengano accountati.
Se i job locali sono esclusivamente di utenti che non usano la Grid e non appartengono quindi a VO, in tal caso si possono non accountare.
Come DGAS stabilisce se un job è locale o di Grid
Se per un dato job, identificato dal proprio LRMS id, esiste un riferimento nei log di BLAH, allora al job possono essere associate le informazioni sulle estensioni VOMS (DN del certificato, VO, FQAN). In questo caso il campo
voOrigin
della tabella jobTransSummary del DB dell'HLR è settato a
fqan
e il job è considerato
Grid.
Se non è possibile recuperare informazioni sul job dal log di BLAH, DGAS controlla se il job è stato sottomesso tramite pool account. In caso affermativo, il campo
voOrigin
è settato a
pool
e il job è considerato
Grid.
Se l'utente locale con il quale il job ha girato non è un pool account, DGAS controlla se esiste un file di configurazione sul CE che mappa gli utenti o i gruppi locali su una VO (il percorso di questo file è indicato come valore della variabile
localUserGroup2VOMap
nel file
/opt/glite/etc/dgas_sensors.conf
, o
/etc/dgas/dgas_sensors.conf
nella versione 4.0.x dei sensori). Se questo file esiste e l'utente o il gruppo locale è presente nel file, è possibile ricavare la VO. Il campo
voOrigin
viene settato a
map
e il job è considerato
locale.
Se il file di mapping tra utenti o gruppi locali e VO non esiste o se l'utente o gruppo locale non è presente nel file, non è possibile individuare la VO dell'utente che ha sottomesso il job, il campo
voOrigin
è lasciato vuoto e il job è considerato
locale. HLRmon mostra questi job come job locali con VO
unknown
.
Procedura per accountare job locali
Nel caso in cui il sito abbia un solo CE:
Sul CE, nel file di configurazione dei sensori di DGAS
/opt/glite/etc/dgas_sensors.conf
(
/etc/dgas/dgas_sensors.conf
nella versione 4.0.x dei sensori), settare la variabile
jobsToProcess = all
Tenere aggiornato il file di configurazione indicato nel
dgas_sensors.conf
come valore della variabile
localUserGroup2VOMap
con il mapping tra gli utenti locali e le VO.
Ogni riga di questo file deve avere uno dei seguenti formati:
* group <GRUPPO-LOCALE-UNIX> <NOME-VO>
* user <UTENTE-LOCALE-UNIX> <NOME-VO>
Nel caso di sito con più CE:
I log del Batch system vengono processati da tutti i CE.
Il CE master è l'unico che crea un record per ogni job (Grid o locale) presente nei log del Batch system, mentre gli altri CE processano solo quei job per cui posseggono le informazioni Grid.
I record per i quali non si trovano informazioni Grid nei log di BLAH di nessuno dei CE sono classificati locali.
Se un record è già presente nell'HLR con informazioni provenienti esclusivamente dai log del Batch system (informazioni prese dal CE master), tale record può essere aggiornato con le informazioni Grid se queste vengono trovate sui log di BLAH di uno dei CE. Per questo motivo, la variabile
useCEHostName
deve avere lo stesso valore in tutti i CE, per permettere di identificare il record da aggiornare (DGAS infatti fa un controllo, tra gli altri, sul campo che contiene il valore di
useCEHostName
).
La configurazione nel
dgas_sensors.conf deve essere la seguente:
CE 1 (master):
jobsToProcess = all
useCEHostName = <ce1.yourdomain.org>
localHostNameAsCEHostName = no
localUserGroup2VOMap = <MAPPING-FILE-PATH>
CE 2 -- CE N:
jobsToProcess = grid
useCEHostName = <ce1.yourdomain.org>
localHostNameAsCEHostName = no
Il CE 1 (master) deve avere il file di mapping aggiornato.
Riprocessamento vecchi log
Se si vogliono recuperare job che non sono stati accountati in passato si può forzare DGAS a riprocessare i vecchi log seguendo questi passi:
- Stoppare il servizio DGAS Urcollector:
service glite-dgas-urcollector stop
- Verificare che sia realmente giù:
ps -ef | grep urcollector
- Cambiare la data limite dalla quale far riprocessare i log modificando il valore della variabile
ignoreJobsLoggedBefore
in /opt/glite/etc/dgas_sensors.conf
(/etc/dgas/dgas_sensors.conf
nella versione 4.0.x dei sensori) (formato YYYY-MM-DD), es.:
ignoreJobsLoggedBefore = "2011-01-01"
- Rinominare il file che contiene il buffer, indicato come valore della variabile
collectorBufferFileName
nel dgas_sensors.conf
(/opt/glite/var/dgasCollectorBuffer.lsf
oppure /opt/glite/var/dgasCollectorBuffer.pbs
rispettivamente se si usa LSF o Torque per sensori di versione precedente alla 4). Ad es. per LSF:
mv /opt/glite/var/dgasCollectorBuffer.lsf /opt/glite/var/dgasCollectorBuffer.lsf.20120322
- Spostare i file presenti in
/opt/glite/var/dgasURBox/ERR
nella directory superiore (solo nel caso di sensori di versione precedente alla 4):
mv /opt/glite/var/dgasURBox/ERR/* /opt/glite/var/dgasURBox/
- Far partire il servizio DGAS Urcollector:
service glite-dgas-urcollector start
- Controllare il log
glite-dgas-urcollector
:
tail -f /opt/glite/var/log/dgas_urcollector.log
(
/var/log/dgas/dgas_urcollector.log
nella versione 4.0.x dei sensori)
- Controllare la directory /opt/glite/var/dgasURBox/ERR directory; non dovrebbe essere piena di file.
Visualizzazione job locali in HLRmon
Attualmente
HLRmon
offre la possibilità di visualizzare job locali, di Grid o entrambe le categorie grazie al menù di selezione sulla sinistra
Select job type
L'ultimo grafico in basso a destra, per ognuno dei set di grafici selezionabili con il menù a tendina
Chart set
in alto, mostra l'andamento temporale dei job locali rispetto a quelli Grid.
I job locali a cui DGAS non riesce ad assegnare la VO, sono mostrati da HLRmon con VO
unknown
. Questa VO è selezionabile tra le altre VO nel menù sulla sinistra
Select VOs
.
Nel prossimo futuro ci sarà la possibilità di poter visualizzare o meno i job locali con VO
unknown
spuntando un'apposita voce nel menù
Select job type
, in modo da poterli escludere/includere più facilmente.
Riferimenti
DGAS Reference Manual
--
EnricoFattibene - 2012-03-21