<noautolink><!-- * Set ALLOWTOPICVIEW = Main.JohnHarveyCasallasLeon * Set ALLOWTOPICCHANGE = Main.JohnHarveyCasallasLeon * Set ALLOWTOPICRENAME = Main.JohnHarveyCasallasLeon --> [[%SCRIPTURLPATH{"edit"}%/%WEB%/CompOpsMeetingT0?t=%SERVERTIME{$day$hour$min$sec}%;nowysiwyg=1][%ICON{viewtopic}%]] ---+++ Topics * [[Sandbox.Bash][Bash]] * [[Sandbox.Tier0Procedures][Tier-0 Procedures]] * [[Sandbox.BriefReport][Brief Report]] * [[Sandbox.AccessingData][AccessingData]] * [[Sandbox.MulticoreProcessing][Multicore Processing]] * [[Sandbox.ToolsGuide][ToolsGuide]] * [[Sandbox.WorkflowsAndJobs][WorkflowsAndJobs]] * [[Sandbox.GroupsAndPeopleToPing][GroupsAndPeopleToPing]] * [[Sandbox.Procedimientos][Procedimientos]] * [[Sandbox.SLSAlarms][SLS Alarms]] * [[Sandbox.ChangingOraclePassword][ChangingOraclePassword]] * [[Sandbox.Questions][Questions]] * [[Sandbox.TempReport][TempReport]] * [[Sandbox.Kibana][Kibana]] * [[Sandbox.Preguntas][Preguntas]] * [[Sandbox.Tier0Monitoring][TIer0 Monitoring]] * [[Sandbox.Tier0AreasOnEOS][Tier0 areas on EOS]] ---+++ Content <br /><span data-mce-mark="1">%TOC{depth="4"}%</span> ---+++ AFS Url to enable work area and increase AFS quota https://resources.web.cern.ch/resources/Manage/AFS/Settings.aspx ---+++ Machines | *VM* | *Description* | *DB* | | vocms001 | Dirk's test machine | CMS_T0AST_REPLAY1<hr /> | | vocms015 | T0 test machine | CMS_T0AST_REPLAY2 | | vocms047 | T0 test machine | CMS_T0AST_REPLAY3 | | vocms062 | T0 prod machine | CMS_T0AST_1 | ---+++ Useful commands | *Comando* | *Explicacion* | *Uso comun* | | ls -lathlr | Ver los archivos en orden | | | ls -lh | Ver los archivos en orden cronologico | | | grep <regExpr> | Permite filtrar una lista de resultados dada una expresion regular | grep FNAL | | tail -<numero> <nombreArchivo> | Muestra los <numero> ultimos archivos | | | xrdcp | Copia un archivo | | | tar -zxvf <tarball> | Descomprime un tar | | | pwd | Me da mi ubicacion actual | | | scp | Copia de forma "segura" un archivo | | | ps aux | egrep '<pr1> \ | <pr2> \ | <pr3>' | Permite ver si hay instancias en ejecucion | ps aux | egrep 'wmcore | mysql | couch' | | find <dir> -name <searchTerm> | Permite buscar en una carpeta | find ./JobCreator/JobCache -name LogCollect | | sort file.txt | uniq | Muestra una lista de cosa sin repeticiones | | | sort file.txt \ | uniq -d | Muestra solo las repeticiones de una lista de cosas | | | wc -l <filename> | print the line count (note that if the last line does not have \n, it will not be counted) | | | wc -c <filename> | print the byte count | | | wc -m <filename> | print the character count | | | wc -L <filename> | print the length of longest line | | | wc -w <filename> | print the word count | | | | | | ---++++ Fallar Jobs / Fail Jobs / Failing Jobs source /data/tier0/admin/env.sh $manage execute-agent paused-jobs -f -w PromptReco _Run207231_SingleMu $manage execute-agent paused-jobs -f -w <WORKFLOW> $manage execute-agent paused-jobs -f -j 9081320<br />$manage execute-agent paused-jobs -f -j <T0AST_JOB_ID> ---+++ Global Tag Especifica las condiciones de procesamiento. Estas se encuentran en CondDB. Que hay que hacer cuando anuncian un GlobalTag. ---+++ Condor & GlideinWMS <img alt="" height="600" src="http://www.uscms.org/SoftwareComputing/Grid/WMS/glideinWMS/doc.prd/images/simple_animation.gif" width="473" /> | condor_q | Ver detalles de la ejecucion de condor en esa maquina | | condor_q -w: | Ver mas detalles de la ejecucion de condor en esa maquina | | condor_q -analyze | <p>Aplica sobre el collector pool (vocms97 - production pool, vocms097- global pool vocms0?? - T0pool),</p> <p>no para los schedd. Se puede hacer sin sudo, pero hay que cargar primero algo de codigo usando</p> <p>source /data/srv/wmagent/env.sh</p> | Cuando ES T0 Agent source /data/tier0/admin/env.sh | | condor_q -better-analyze | | | condor_status | | | | | | condor_rm | | | condor_history -constraint | | | condor_history -const 'JobStatus=?=3' | | | condor_history -l 2498.0 \ | less | | | condor_ssh_to_job <jobID> | Conecta con el workernode que esta ejecutando un job en particular. <br /><br />Cuando se va a un workernode, normalmente lo que se debe encontrar es:<br /> <ul> <li>los logs de condor (err & out). Estos son los que, cuando condor termina su ejecucion son devueltos al WMAgent.</li> </ul><br /> <ul> <li>El JobPackage.pkl, ese es propiamente "El Job"</li> </ul><br /> <ul> <li>Algunos directorios de WMCore</li> </ul><br /> <ul> <li>El directorio /job. En este directorio se encuentran los archivos de la ejecucion del Job. En este a su vez se encontrara</li> </ul>+ Logs generales del job<br /> + El directorio /WMTaskSpace. Este contiene las tareas que tiene el job. Estos se corresponden con las carpetas y pueden ser:<br /> - cmsRun1: Aca se encuentran los archivos de procesamiento de informacion. <br /> - stageout<br /> - logArch | | <span data-mce-mark="1">https://htcondor-wiki.cs.wisc.edu/index.cgi/wiki?p=MagicNumbers</span> | | | | | ---++ <br />Procedimientos <br />Problema: Un job lleva corriendo demasiado tiempo<br />Descripcion: Hay jobs que no deberian duran corriendo tanto tiempo. Cuando hablamos de dias es un problema, (sobre todo en T0).<br />Procedimiento: <br />- Acceder a la maquina donde se encuentra el job. <br />- Como el job esta corriendo, al hacer condor_q y/o condor_q -w se deberia poder ver la informacion de este.<br />- Con el ID del job, se puede usar condor_ssh_to_job para ir al workernode y revisar que esta pasando. Hay senales de alerta como:<br /> + Archivo de log muy grande: Normalmente los archivos de log no son tan grandes. Puede ser que el job este estancado haciendo algo repetidamente. <br /> + <br /><br /> ---+++ Cambiando la configuracion Hay diferentes archivos de configuracion importantes en la operacion del T0. Se presenta una lista de ellos | Archivo | Ubicacion | Usuario | Componente | Descripcion | | ReplayOfflineConfiguration.py | /data/tier0/admin/ | cmst1 | REPLAY | Permite cambiar configuraciones antes de cambiar una replay | | WMAgent.secrets | /data/tier0/admin/ | cmst1 | REPLAY - PROD | Contiene la informacion necesaria de una maquina para conectarse a T0AST (Oracle), WMSTATS, PHEDEX, DQM, CoachDB, etc. <span data-mce-mark="1">%ICON{stop}%</span> <span data-mce-mark="1">%ICON{radioactive}%</span> <span data-mce-mark="1">%ICON{stop}%</span> | | config.py | $config (hacer echo) | cmst1 | REPLAY | Permite cambiar configuraciones de un agente,<b> Es necesario hacer source /data/tier0/admin/env.sh</b> | ---++++ Reiniciar un workflow Es posible que algunos jobs se pausen, si la causa de esta pausa es incidental *por ejemplo un certificado que expiro en ese momento pero luego fue renovado) se pueden reiniciar. para ello se usa <verbatim> $manage execute-agent paused-jobs -r -w nombre_del_wf</verbatim> ---++++ ReplayOfflineConfiguration.py ---+++ Correr un replay 1) modificar parches si es el caso en el archivo 00_software<br />2) Ir a vim admin/ReplayOfflineConfiguration.py<br />Ahi cambiar<br /># Defaults for processing version<br />defaultProcVersion = 14<br />expressProcVersion = 14<br />alcarawProcVersion = 14<br /><br />por<br /><br /># Defaults for processing version<br />defaultProcVersion = 15<br />expressProcVersion = 15<br />alcarawProcVersion = 15<br /><br />y<br />setDefaultScramArch(tier0Config, "slc6_amd64_gcc481")<br /><br />por<br /><br />setDefaultScramArch(tier0Config, "slc6_amd64_gcc491")<br /><br />3)correr 00_software.sh<br /><br />4)correr 00_deploy.sh (es normal que este tarde un resto)<br /><br />5)correr 00_start_Agent.sh (si uno modifica este archivo puede modificar el Agent a correr si hubiera varios disponibles)<br /><br />6)ir a cd replayInject<br /><br />7)verificar que el archivo resend.txt este apuntando al run correcto (ej, 231135.txt) ln -sfn <config_replay_text_file>.txt resend.txt<br /><br />9)correr ./t0_control.sh restart<br />Este reinicia<br />Starting Logger/LoggerReceiver <br />Starting Tier0Injector /Tier0InjectorManager <br />Starting Tier0Injector /Tier0InjectorWorker <br /><br /><br />10)correr./t0_resend.sh start<br />Este inicia la inyecci[on<br /><br />11)El WMAgent esta desplegado en /data/tier0/srv/wmagent/current/install/tier0/<br /><br /> NOTA: SI SE REQUIERE INICIAR / DETENER UN COMPONENTE PARTICULAR<br /><br /> 1 source /data/tier0/admin/env.sh 1 $manage execute-agent wmcoreD --shutdown --components=JobSubmitter 1 $manage execute-agent wmcoreD --start --components=JobSubmitter 1 $manage execute-agent wmcoreD --restart --components=JobSubmitter <br /><br /> Si se reinicia el PhedexInjector hay que hacer source de WMCore source /data/tier0/srv/wmagent/current/apps/t0/etc/profile.d/init.sh ---+++ Revisar el ClassAd de un job 1 condor_history | less (Muestra 1 condor_history -const 'JobStatus=?=3' 1 condor_history -l 2498.0 \| less ---+++ Iniciar Agente 1) 00_Software<br />2) 00_Deploy<br />3) REvisar si hay algo que modificar en /data/tier0/admin/replay*config*.py (AL menos subir el processing version tambien a veces se cambia el DQ o la version de CMSSW<br />4) 00_startAgent<br />5) Ir a /data/tier0/replayinject<br /> ./t0_control.sh restart <br /> ./t0_resend.sh start<br /><br /> ---+++ Detener el agente 1 Acceder a /data/tier0 como cmst1 1 00_StopAgent 1 condor_rm -all 1 condor_rm <id del job> 1 condor_rm <id del que lo mando (por ejemplo cmst1)> 1 chequear con ps aux | egrep 'wmcore|mysql|couch' que no haya nada de eso corriendo ---+++ Recolectar Jobs de una run (generar el archivo de la run para despues poder hacer una replay) * Se debe ir al endpoint del transfer system (en este caso es vocms001.cern.ch:/data/TransferSystem/), *loggeandose como cmsprod* * Ejecutar cat Logs/General.log* | grep "'Tier0Inject' => '1'" | grep "'RUNNUMBER' => '224379'" > Run224379.txt. * Entra a Logs/General.log (como tienen fecha se puede poner una expresion regular o un nombre mas largo para lograr coincidencias mas precisas) * Su salida que es el contenido de el (los) archivos que cumplan con la primera parte, se filtra para los que hayan sido inyectados en el Tier0. La instruccion podria quedar concluida ahi. Si se quisiera obtener solo los archivos de una run particular se procede con la parte 3. * Se hace un filtrado sobre el resultado del filtro anterior con la expresion mostrada mas arriba * Algunos ejemplos son: * cat Logs/General.log | grep "'Tier0Inject' => '1'" | grep "'RUNNUMBER' => '224379'" > Run224379.txt. * cat Logs/General.log | grep "'Tier0Inject' => '1'" * cat Logs/General.log.2015011* | grep "'Tier0Inject' => '1'" > SalidaJ.txt<br /><br /> * Es normal realizar esta tarea despues de una Global Run o una MWGR. Normalmente los logs de los dias de estar Run son mas pesados y por tanto son facilmente identificables, para realizar esta tarea entonces basta con realizar los pasos antes mencionados y luego copiar los archivos a el area correspondiente /data/tier0/replayinject de cada maquina. *Es necesario conectarse como cmst1 para hacer esta copia*. Despues de realizar la conexion se puede utilizar: * scp <maquinaOrigen>:<rutaOrigen> <ruta destino> * Algunos ejemplos son: * scp vocms001.cern.ch:/data/TransferSystem/Run232-233mwgr10.txt /data/tier0/replayinject * scp vocms001.cern.ch:/data/TransferSystem/Run232miniGR.txt /data/tier0/replayinject * Link to get the lastrun <span data-mce-mark="1">https://cmsweb.cern.ch/t0wmadatasvc/prod/firstconditionsaferun</span> ---+++ Tareas de operacion sobre el T0 WMAgent * Descripcion general de la arquitectura global * Descripcion general de los componentes del agente * Configuracion del agente * Inicio del agente * Inicio de la inyeccion * Revision de logs y componentes del agente ---+++ Tareas de operacion sobre los jobs Cuando una replay esta corriendo normalmente hay diferentes tipos de ejecucion --++1. HTCondor Se ingresa a la maquina que esta corriendo el replay. En esta se puede ejecutar * condor_q * condor_q -w * condor_q -analyze * condor_q -betterAnalyze Estos comandos mostraran los estados de los jobs de condor que estan siendo enviados. Es normal que algunos de estos esten en (I)dle y otros (R)unning. Los jobs pueden durar desde minutos hasta dias. Sin embargo no es normal (ni deseable) que duren demasiado (dependiendo del tipo de job, dias puede empezar a ser preocupante). --++2. T0AST Oracle Database Como se ve en la seccion de maquinas, cada una de las maquinas tiene una instancia propia de T0AST con la que esta conectada. Cuando la replay esta corriendo se puede ver el estado de los jobs con las siguientes Querys | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'created'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'createcooloff'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'cleanout'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'killed'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'complete'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'submitfailed'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'submitcooloff'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'retrydone'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'none'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'submitpaused'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'jobcooloff'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'executing'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'success'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'createpaused'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'new'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'createfailed'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'exhausted'); | | SELECT id,name,cache_dir FROM wmbs_job where state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'jobpaused'); | Sin embargo el nivel de importancia de todos los estados no es el mismo. En particular el estado mas importante es jobpaused. Cuando un job tiene errores por alguna razon este es reintentado tres veces (el valor de tres intentos es configurable en !FIXME). Si despues de la tercera vez sigue con errores, el T0 WMAgent lo lleva al estado jobpaused. En ese caso se debe proceder a una revision en detalle de el (los) job(s) problematico(s). | SELECT COUNT(*) FROM wmbs_job where (state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'jobpaused') ) OR \(state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'submitpaused') ) OR \(state = (SELECT id FROM WMBS_JOB_STATE WHERE name = 'createpaused') ); | --++3. Logs Si se detecta una condicion anomala o hay jobs pausados se deberia seguir el siguiente procedimiento: --++3.0 Las consultas en el numeral anterior incluyen en su resultado el cache_dir. Esta es la ubicacion fisica dentro del Schedd (que para T0, se corresponde con la maquina donde se esta ejecutando el T0WMagent) a donde se transfieren los logs de condor creados durante la ejecucion. --++3.1 Revisar logs Dado que la direccion es absoluta se puede acceder a ella y consultar los tres tipos de log: log, out, err. Estos logs se deben ordenar y es buena consultar el del ultimo reintento. Son archivos de texto asi que se pueden explorar con vim. --++3.2 Revisar pkl. El pkl es un archivo qu etambien tiene informacion sobre la ejecucion del job. Tal archivo si se trata de revisar es dificil de leer, para poder comprenderlo podemos utilzar un script the python que nos ayude a formatearlo para que sea legible por un humano. * Primero se debe hacer cargar codigo para poder correr las instrucciones sin problema <verbatim>source /data/tier0/srv/wmagent/current/apps/t0/etc/profile.d/init.sh</verbatim> * Luego Se debe abrir una consola de python, para esto basta ejecutar la instruccion python El script python es el siguiente <verbatim> import cPickle jobHandle = open("Report.pkl", "r") loadedJob = cPickle.load(jobHandle) jobHandle.close() print loadedJob </verbatim> * Esto mostrara en pantalla la informacion dentro del archivo de una manera comprensible --++3.3 Revisar un Tarball Si no se encontro nada diciente en los logs ni en los pkl, es una buena idea explorar el tarball. Para ello, tanto en el pkl como en los logs se puede encontrar la direccion fisica (PFN) de cada tarball. Para explorar un tarball se puede copiar este a lxplus (se recomienda tener una carpeta llamada tarball para trabajar). El comando de copia es lcg-cp Un ejemplo de este comando es: lcg-cp root://cmseos.fnal.gov//lustre/unmerged/data/logs/prod/2015/1/29/PromptReco_Run231228_Cosmics/Reco/RecoMergewrite_DQM/0000/3/ca41e148-a7c3-11e4-88b1-02163e008cf7-0-3-logArchive.tar.gz Al descomprimir un tarball podemos encontrar mas informacion que nos puede ayudar a encontrar la causa de los problemas en la ejecucion del job. source /data/tier0/srv/wmagent/current/apps/t0/etc/profile.d/init.sh ---+++ Configuracion para arrancar el agent ---+++ Archivo de secrets ---+++ Revision del LoggerSender.pl en el endpoint de transferencia /data/TransferSystem/T0/src/Logger<br /><br /> ---+++ Scripts SLS ---+++ Generacion de graficas para seguimiento (Weekly Report) con un ChroneJob ---+++ PhEDEx consulta de archivos y solicitud de transferencia/borrado de archivos Cuando se corren replays, la mayoría de las veces no se necesitan los archivos resultantes, a menos que esto sea especificado en el ELog de la replay correspondiente. Cada determinado tiempo (CUANTO?) es necesario solicitar que los archivos no necesitados se borren. Para esto es necesario: 1. Revisar los archivos que se pueden borrar. Desde el último ELOG. Aquellos que no pueden ser borrados tendrán un mensaje especificándolo. A continuación el registro de los últimos borrados: | *Fecha Revisión* | *Reviewer* | *Link ELOG* | | 02/04/2015 | John | <span data-mce-mark="1">https://cms-logbook.cern.ch/elog/Tier-0+processing/12573</span> | | 08/02/2015 | Luis / John | <span data-mce-mark="1">https://cms-logbook.cern.ch/elog/Tier-0+processing/12294</span> | | 02/10/2014 | Luis | <span data-mce-mark="1">https://cms-logbook.cern.ch/elog/Tier-0+processing/11955</span> | 2. Después de tener claros los logs a borrar, se debe acceder a PhEDEx / Requests / Create Requests (<span data-mce-mark="1">https://cmsweb.cern.ch/phedex/prod/Request::Create</span>). Ahí se encontrará un cuadro de búsqueda. Se pueden usar expresiones regulares, Algunos ejemplos de expresiones usadas * /*/Tier0_Test_SUPERBUNNIES_vocms015*v2/* * /*/Tier0_Test_SUPERBUNNIES_vocms001*v33/* * /*/Tier0_Test_SUPERBUNNIES_vocms047*v2/*<br /><br /> 3. Se deben seleccionar los 4. ---+++ Cambiar la version de CMSSW en Produccion 1 Ir al archivo de configuracion /data/tier0/admin ProductionOfflineConfiguration.py y cambiar alla la linea correspondiente a la version de CMSSW con la nueva version. 1 Ejercutar los siguientes scripts, (se debe cambiar la parte final del query con la version conveniente) para buscar a partir de cual Run aplicara el cambio <verbatim> select RECO_CONFIG.RUN_ID, CMSSW_VERSION.NAME from RECO_CONFIG inner join CMSSW_VERSION on RECO_CONFIG.CMSSW_ID = CMSSW_VERSION.ID where name = 'CMSSW_7_3_2_patch3'; select EXPRESS_CONFIG.RUN_ID, CMSSW_VERSION.NAME from EXPRESS_CONFIG inner join CMSSW_VERSION on EXPRESS_CONFIG.RECO_CMSSW_ID = CMSSW_VERSION.ID where name = 'CMSSW_7_3_2_patch3';</verbatim> 1 Anunciar en HN el cambio de la version y la informacion de la run a la cual aplicara ---+++ Conectar un T0 WMAgent a WMStats 1. Se accede al archivo de configuracion de T0 (VER ARCHIVOS DE CONFIGURACION) 1. En este archivo (config.py) se cambian las ocurrencias por la URL que se requiera (si se quiere conectar con el WMStats TESTBED o con PRODUCCION) 1. Si el agente NO ESTA CORRIENDO se debe cambiar tambien el archivo de secrets (VER ARCHIVOS DE CONFIGURACION - WMAgent.secrets) para que el atributo WMSTATS_URL tambien apunte a la URL del WMStats que se requiera (TESTBED o PRODUCCION) 1. Deploy / Redeploy del agent | Name | URL | Description | | Production WMStats | | | | Testbed WMStats | | | ---+++ Consulta de Datasets, Runs, Files, etc. Python Plugin 972 condor_q 973 ps aux | grep condor 974 export condor_config=/etc/condor/config.d 975 echo $condor_config 976 condor_q 977 cd /data/srv/ 978 ls 979 export CONDOR_CONFIG=/etc/condor/condor_config 980 cd /etc/condor/ 981 ls 982 condor_q 983 cd /etc/profile.d 984 ls 985 less ~/.bashrc 986 acrontab -l 987 whoami 988 sh ~/.bashrc 989 echo $CONDOR_CONFIG 990 sudo -u cmst1 /bin/bash --init-file ~cmst1/.bashrc 991 pwd 992 echo $CONDOR_CONFIG 993 ls 994 ls .bash/ 995 ls .bash_history 996 cat .bash_history 997 echo $CONDOR_CONFIG 998 grep -ir "condor" * 999 grep -ir "CONDOR_CONFIG" * 1000 history ---+++ Configuracion | 135 | KIT | PIC | CNAF | RAL | IN2P3 | FNAL | | Cosmics | X | | | | | | | MiniBias | | X | | | | | | HcalNZS | | | X | | | | | NoBPTX | | | | X | | | | 228 | KIT | PIC | CNAF | RAL | IN2P3 | FNAL | | Cosmics | | | | | | X | | MiniBias | | | | | X | | | HcalNZS | | | X | | | | | NoBPTX | | | | X | | | A que se debio el cambio? El cambio se debio a que, como ya se habia llevado a cabo esa replay, se sabia en cuales nodos iba a ser ejecutado ---+++ Cuando Los Logs estan vacios y hay una cosa de un REMOVE en el PKL o en el LOG <verbatim> <a n="Reason"><s>The system macro SYSTEM_PERIODIC_REMOVE expression '((((NumJobStarts>9)=?=True) || ((NumShadowStarts>19)=?=True) || ((DiskUsage>27000000)=?=True))) || ((DiskUsage>27000000)=?=True)' evaluated to TRUE</s></a> condor_history -b -m 1 490.0 -format '%s ' DiskUsage -format '%s ' NumShadowStarts -format '%s\n' NumJobStarts</verbatim> ---+++ How To Resume a Job Por Sitio <verbatim> $manage execute-agent paused-jobs -r -s T2_CH_CERN_T0</verbatim> Por Workflow <verbatim> -w Workflow</verbatim> Por Tarea <verbatim> -t Repack -t Express -t Merge -t Processing -t Cleanup -t LogCollect</verbatim> Si se corre una run de 2012 se deben utilizar estos escenarios # Configure scenarios<br />cosmicsScenario = "cosmics"<br />ppScenario = "pp"<br />hcalnzsScenario = "hcalnzs" ---++ Error codes Log ---+++ 65 - Indexes out of bounds (Reconstruction Step) ---+++++ Error message <verbatim>Begin processing the 8th record. Run 244492, Event 104971682, LumiSection 51 at 17-May-2015 04:34:27.237 CEST %MSG-e TooManyErrors: SiStripRawToDigiModule:siStripDigis 17-May-2015 04:34:27 CEST Run: 244492 Event: 104971682 Total number of errors = 35390 %MSG ----- Begin Fatal Exception 17-May-2015 04:34:27 CEST----------------------- An exception of category 'InvalidDetId' occurred while [0] Processing run: 244492 lumi: 51 event: 104971682 [1] Running path 'reconstruction_step' [2] Calling event method for module EcalRecHitProducer/'ecalRecHit' Exception Message: EBDetId: Cannot create object. Indexes out of bounds eta = -81 phi = 361 ----- End Fatal Exception -------------------------------------------------</verbatim> ---+++++ Procedure * It was reported to Reconstruction Development HN * The related jobs were failed ---+++ 66 - Std exception while doing dqmoffline_step ---+++++ Error message <verbatim> ----- Begin Fatal Exception 14-May-2015 14:05:54 CEST----------------------- An exception of category 'StdException' occurred while [0] Processing run: 244163 lumi: 1 event: 20728 [1] Running path 'dqmoffline_step' [2] Calling event method for module JetAnalyzer/'jetDQMAnalyzerAk4CaloCleaned' Exception Message: A std::exception was thrown. vector<bool>::_M_range_check: __n (which is 0) >= this->size() (which is 0) ----- End Fatal Exception -------------------------------------------------</verbatim> ---+++++ Procedure * It was reported to DQM Development HN (i.e. https://hypernews.cern.ch/HyperNews/CMS/get/dqmDevel/2247.html) * After they ack, the jobs were failed ---+++ 84 - Error opening Streamer Input File, file does not exist ---+++++ Example Report https://cms-logbook.cern.ch/elog/Tier-0+processing/12771 ---+++++ Error Message <verbatim>18-May-2015 16:44:14 CEST Initiating request to open file root://eoscms.cern.ch//store/t0streamer/Data/ExpressCosmics/000/244/807/run244807_ls0128_streamExpressCosmics_StorageManager.dat ----- Begin Fatal Exception 18-May-2015 16:44:14 CEST----------------------- An exception of category 'FileOpenError' occurred while [0] Constructing the EventProcessor [1] Constructing input source of type NewEventStreamFileReader Exception Message: StreamerInputFile::openStreamerFile Error Opening Streamer Input File, file does not exist: root://eoscms.cern.ch//store/t0streamer/Data/ExpressCosmics/000/244/807/run244807_ls0128_streamExpressCosmics_StorageManager.dat</verbatim> ---+++++ Procedure * Checking the file exists in EOS and retrieving it manually from the agent. * As it was, resuming a paused jobs, ssh_to_job to the corresponding worker node and retrieving it manually. * As it was, we checked certificates, they looked ok. * A file not found problem can hide other problems, i.e. the file can exist and be present, but it is not possible to read it, so the file was downloaded and the job was run locally. It worked with no problems. * The problem affected runs running a new version of CMSSW so it could be a SW problem. ---+++ 85 - Unknown code in event header (corrupted file) ---+++++ Example Report https://cms-logbook.cern.ch/elog/Tier-0+processing/12698 ---+++++ Error message <verbatim> 6-May-2015 14:21:09 CEST Successfully opened file root://eoscms.cern.ch//store/t0streamer/Data/Calibration/000/244/649/run244649_ls0654_streamCalibration_StorageManager.dat ----- Begin Fatal Exception 16-May-2015 14:21:10 CEST----------------------- An exception of category 'FileReadError' occurred while [0] Calling InputSource::getNextItemType Exception Message: StreamerInputFile::readEventMessage Failed reading streamer file, unknown code in event header code = 0 ----- End Fatal Exception -------------------------------------------------</verbatim> ---+++++ Procedure used * Copying the local file to check if it exists and is accessible * Comparing file size in the Transfer System and EOS. * Reporting problem to Storage Manager Operations HN (SMOps) * They report back they were changing the procedure to check files consistency * In the meantime the only thing we could do was: * Tracing the problematic files * Reporting them to SMOps * Failing the related jobs ---+++ 90 - Unable to find requested service (DQM / DQMIO) ---+++++ Example Report https://cms-logbook.cern.ch/elog/Tier-0+processing/12755 ---+++++ Error message <verbatim> 14-May-2015 13:45:40 CEST Successfully opened file root://eoscms.cern.ch//store/data/Commissioning2015/AlCaLumiPixels/RAW/v1/000/244/159/00000/BCAAFF27-55F9-E411-B0EB-02163E01391B.root %MSG-w XrdAdaptor: (NoModuleName) 14-May-2015 13:45:49 CEST pre-events Data is now served from cern.ch instead of previous %MSG ----- Begin Fatal Exception 14-May-2015 13:45:54 CEST----------------------- An exception of category 'NotFound' occurred while [0] Calling beginJob for module DQMRootOutputModule/'write_DQMIO' Exception Message: Service Request unable to find requested service with compiler type name ' 8DQMStore'. ----- End Fatal Exception -------------------------------------------------</verbatim> ---+++++ Procedure used * We reported to Data Quality Monitoring Development (DQMDev). * The AlcaReco matrix was updated a couple of days before, the problem was tracked down to a specific Alca Producer. * We disabled PromptReco for AlcaLumipixels. * We failed the problematic jobs. $manage execute-agent wmagent-unregister-wmstats vocms062.cern.ch:9999 </noautolink> ---++ Helpful commands for [[http://services.web.cern.ch/services/afs/][AFS]]: %EDITTABLE{ header="| *Command:* | *Effect:* | *Arguments:* |" format="| textarea, 2x10, =command= | textarea, 2x30, description | textarea, 2x60|" changerows="add" }% | *Command:* | *Effect:* | *Arguments:* | | =tokens= | show all AFS tokens the user currently holds | | | =klog= | to obtain an AFS tokens different from the one established upon login | ==[<username>]== : username to be used for token | | =unlog= | destroy all AFS tokens | | | =fs whereis= | show on which afs server a file/directory is saved on | ==[<file>]== or ==[<directory>]== : file or directory to search on AFS <br /> or =$HOME= : position of home directory on AFS | | =fs checks= | check which afs servers are running | | | =fs listquota= | show your quota on AFS | | | =fs listacl= | show AFS Access Control List (ACL) | ==[<directory>]== : show ACL of a directory | | =fs setacl= | set AFS Access Control List (ACL) | ==-dir <directory>== : set ACL of path <br /> ==-acl <username> <accessright>== : set access right for login <br /> _access rights:_ <br /> =r= : reading of files <br /> =w= : writing to files <br /> =k= : locking of files (flock() system call) <br /> =l= : the right to search for files in the directory, i.e. list which files it contains <br /> =i= : creation of new files or directories <br /> =d= : deletion of files <br /> =a= : the right to change the ACL <br /> =all= : r+w+k+l+i+d+a <br /> =none= : delete entry from ACL <br /> =read= : r+l <br /> =write= : r+w+k+l+i+d | ---++ Helpful commands for [[http://batch.web.cern.ch/batch/doc/quick-intro.html][LSF]]: %EDITTABLE{ header="| *Command:* | *Effect:* | *Arguments:* |" format="| textarea, 2x10, =command= | textarea, 2x30, description | textarea, 2x60|" changerows="add" }% | *Command:* | *Effect:* | *Arguments:* | | =bqueues= | show list and usage of all LSF queues | | | =bjobs= | show status of all submitted LSF jobs | ==[-l] <jobid>== : job id number of the LSF job | | =bsub= | submit a batch job to LSF | ==[-q <queuename>]== : start job in specific LSF queue <br /> ==[-J <jobname;>]== : give job specific name <br /> ==[-o <file>]== : use specific output file <br /> ==<command> [<arguments>]== : program/script to be started on LSF with arguments | | =bkill= | kill a LSF job | ==jobid== : job id number of the LSF job (see bjobs) | | =bpeek= | displays the stdout and stderr output of an unfinished LSF job | ==[-f]== : use command _tail -f_ to show output <br /> ==[-q <queuename>]== : show output of most recently submitted LSF job in the specified queue <br /> ==[-m <hostname>]== : show output of most recently submitted LSF job executed on the specified host <br /> ==[-J <jobname>]== : show output of most recently submitted LSF job with specified job name <br /> ==[<jobid>]== : operates on the specified job | ---++ Helpful commands for [[http://castor.web.cern.ch/castor/][CASTOR]]: %EDITTABLE{ header="| *Command:* | *Effect:* | *Arguments:* |" format="| textarea, 2x10, =command= | textarea, 2x30, description | textarea, 2x60|" changerows="add" }% | *Command:* | *Effect:* | *Arguments:* | | =nsls= | list CASTOR file or directory | ==[<file>]== or ==[<directory>]== : file or directory on CASTOR to list %BR% or =$CASTOR_HOME= : list users CASTOR home directory %BR% ==[--class [<classid>]]== : to show file class %BR% ==[-R]== : recursively %BR% ==[-l]== : long listing %BR% ==[-T]== : show tape number of file %BR% ==[--deleted]== : show deleted files | | =nslistclass= | show attributes for CASTOR classes | ==[--id <classid>]== : CASTOR file class id | | =nsmkdir= | create a new CASTOR directory | ==<directory>== : file or directory on CASTOR to create | | =rfdir= | list CASTOR file or directory | ==<file>== or ==<directory>== : file or directory on CASTOR to list %BR% or =$CASTOR_HOME= : list users CASTOR home directory %BR% ==[-R]== : recursively | | =rfrm= | remove CASTOR file or directory | ==<file>== or ==<directory>== : file or directory on CASTOR to delete %BR% ==[-r]== : recursively | | =rfrename= | rename CASTOR file or directory | ==<oldfilename> <newfilename>== : rename file from oldfilename to newfilename %BR% or ==<olddirectoryname> <newdirectoryname>== : rename directory from olddirectoryname to newdirectoryname | | =rfchmod= | set CASTOR file or directory permissions | ==<accessright>== : access right to set %BR% _access rights:_ %BR% =+= : add access rigth %BR% =-= : remove access right %BR% =u= : user who owns the file %BR% =g= : other users in file's group %BR% =o= : other users not in the file's group %BR% =a= : all users %BR% =r= : reading of files or directories %BR% =w= : writing to files or directories %BR% =x= : executing of files or accessing of directories %BR% ==<file>== or ==<directory>==: file or directory name to change access rights | | =rfcp= | copy local file to CASTOR or from CASTOR to local file | ==<localfilename> <castorfilename>== : copy file from localfilename to CASTOR %BR% or ==<castorfilename> <localfilename>== : copy file from CASTOR to localfilename | | =stager_get= | stage file(s) to disk | ==-M <castorfilename> [-M <castofilename> ...]== : file(s) on CASTOR to stage %BR% ==[--nowait]== : do not wait till staging finished | | =stager_qry= | view status of file on staging disk | ==-M <castorfilename>== : file on CASTOR staging disk | ---++ Helpful linux commands: %EDITTABLE{ header="| *Command:* | *Effect:* | *Arguments:* |" format="| textarea, 2x10, =command= | textarea, 2x30, description | textarea, 2x60|" changerows="add" }% | *Command:* | *Effect:* | *Arguments:* | | =find . -exec grep -H *<pattern>* {} \;= | searches a pattern in all files in the directory and all its subdirectories | ==<pattern>== : pattern to search | |See folder permissions as a number | stat -c %a /path/to/file | [[%SCRIPTURLPATH{"edit"}%/%WEB%/CompOpsMeetingT0?t=%SERVERTIME{$day$hour$min$sec}%;nowysiwyg=1][%ICON{viewtopic}%]]
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r58
<
r57
<
r56
<
r55
<
r54
|
B
acklinks
|
V
iew topic
|
WYSIWYG
|
M
ore topic actions
Topic revision: r58 - 2017-07-10
-
JohnHarveyCasallasLeon
Home
Plugins
Sandbox for tests
Support
Alice
Atlas
CMS
LHCb
Public Webs
Sandbox Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
P
P
View
Raw View
PDF version
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Cern Search
TWiki Search
Google Search
Sandbox
All webs
E
dit
A
ttach
Copyright &© 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use
Discourse
or
Send feedback