Skip to content

Commit ca77111

Browse files
authored
Merge pull request #19 from amereghe/master
Creating 'pro' release of 4th May 2018
2 parents 3c693d1 + 22c1d77 commit ca77111

File tree

22 files changed

+116
-121
lines changed

22 files changed

+116
-121
lines changed

boinc_software/cronjobs/crontab_jobs_lxplus_sixtadm.txt renamed to boinc_software/cronjobs/acrontab_jobs_sixtadm.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
## Acrontab for Sixtrack
2+
# crontab every 12h
3+
## Crontab for Sixtrack - append to default BOINC cronjob
4+
# Puppet Name: worksubmit sixtrack 2
5+
7,17,27,37,47,57 * * * * boincai11.cern.ch /usr/local/boinc/project/sixtrack/bin/cron.submit-sixtracktest-simo3 -m 1000 > /dev/null 2>&1
6+
# Puppet Name: worksubmit sixtrack
7+
1,11,21,31,41,51 * * * * boincai11.cern.ch /usr/local/boinc/project/sixtrack/bin/cron.submit-sixtrack-simo3 -m 1000 > /dev/null 2>&1
8+
# zip all WUs which were not given back to user
9+
# crontab every 3h
10+
30 */3 * * * boincai11.cern.ch cd /share/sixtrack/assimilation ; /usr/local/boinc/project/sixtrack/bin/zip-trashed-WUs.sh > /dev/null 2>&1
11+
#
12+
#
13+
# acrontab jobs for keeping work.boinc volume clean and tidy
14+
#
115
# remove old zip files from /afs/cern.ch/work/b/boinc/download
216
# m h dom mon dow command
317
0 3 * * * lxplus.cern.ch cd /afs/cern.ch/work/b/boinc/download ; ./clean.sh >> clean.log 2>&1

boinc_software/cronjobs/clean.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,7 @@ for tmpDir in `find . -maxdepth 1 -type d -exec bash -c "echo -ne '{} '; ls '{}'
1818
rm -rf ${tmpDir}
1919
fi
2020
done
21+
22+
#
23+
echo "--> remove all empty dirs:"
24+
find . -type d -empty -print -delete

boinc_software/cronjobs/cron.submit-sixtrack-simo3

Lines changed: 41 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ spooldirUpload=$spooldir/upload
2525

2626
# The relative path of the workunit template file from the config dir.
2727
# this template will present Sixin.zip as the input file
28-
WU_template=templates/sixtracktest_wu_template.xml
28+
WU_template=templates/sixtrack_wu_template.xml
2929

3030
# The relative path of the result template file from the config dir.
3131
# this template will bring back also the Sixout.zip results
32-
result_template_SixOutZip=templates/sixtrack_zip_res_template.xml
32+
result_template_SixOutZip=templates/sixtrack_res_template.xml
3333

3434
# default app name
3535
applicationDef=sixtrack
@@ -163,41 +163,40 @@ run_spool(){ # max_jobs_to_submit, max_jobs_perStudy, specific_study
163163
fi
164164

165165
# main loop
166-
echo "${allWorkDirs}" | (
167-
while read workdir ; do
168-
local complete_perStudy=0
169-
#check for desc files in the current work dir, and subfolders
170-
find "$workdir" -maxdepth 2 -type f -name '*.desc' | (
171-
while read descfile ; do
172-
#process the desc files
173-
origPath=`dirname ${descfile}`
174-
if submit_descfile "$descfile" ; then
175-
logstudy "Submitted $WUname"
176-
#stop after max_jobs (0=unlimited)
177-
if ${lMaxJobs} ; then
178-
complete=$(( $complete + 1 ))
179-
if [ $complete -ge $max_jobs ] ; then
180-
log "reached ${max_jobs} in total"
181-
break 2
182-
fi
183-
fi
184-
if ${lMaxJobsPerStudy} ; then
185-
complete_perStudy=$(( ${complete_perStudy} + 1 ))
186-
if [ ${complete_perStudy} -ge ${max_jobs_perStudy} ] ; then
187-
# continue with next study
188-
log "reached ${max_jobs_perStudy} in ${workdir}"
189-
break 1
190-
fi
191-
fi
192-
else
193-
logstudy "Problem submitting $WUname"
166+
for workdir in ${allWorkDirs} ; do
167+
! ${lMaxJobsPerStudy} || local __StudyComplete=0
168+
#check for desc files in the current work dir, and subfolders
169+
if ${lMaxJobsPerStudy} ; then
170+
local allDescs=`find "$workdir" -maxdepth 2 -type f -name '*.desc' | head -n ${max_jobs_perStudy}`
171+
else
172+
local allDescs=`find "$workdir" -maxdepth 2 -type f -name '*.desc'`
173+
fi
174+
for descfile in ${allDescs} ; do
175+
#process the desc files
176+
origPath=`dirname ${descfile}`
177+
! ${lMaxJobsPerStudy} || let __StudyComplete+=1
178+
if submit_descfile "$descfile" ; then
179+
logstudy "Submitted $WUname"
180+
#stop after max_jobs (0=unlimited)
181+
if ${lMaxJobs} ; then
182+
complete=$(( $complete + 1 ))
183+
if [ $complete -ge $max_jobs ] ; then
184+
log "reached ${max_jobs} in total"
185+
break 2
194186
fi
195-
done
196-
)
197-
# remove temp dirs in work
198-
find ${workdir} -mindepth 1 -maxdepth 1 -type d -empty -delete -print | log
187+
fi
188+
else
189+
logstudy "Problem submitting $WUname"
190+
fi
199191
done
200-
)
192+
if [ -n "${allDescs}" ] ; then
193+
if ${lMaxJobsPerStudy} ; then
194+
if [ ${__StudyComplete} -eq ${max_jobs_perStudy} ] ; then
195+
log "limit to ${max_jobs_perStudy} reached for ${workdir}"
196+
fi
197+
fi
198+
fi
199+
done
201200
}
202201

203202
submit_descfile(){
@@ -228,7 +227,7 @@ submit_descfile(){
228227
fi
229228

230229
#overriding delay bound
231-
WUdelayBound=$(cat $boincdir/suggested_deadline)
230+
WUdelayBound="$WUdelayBoundDef"
232231

233232

234233
#copyfiles
@@ -422,6 +421,7 @@ maxjobs=0
422421
maxjobs_perStudy=0
423422
keepzip=0
424423
studyName=""
424+
WUdelayBoundDef=574334 # [s]
425425

426426
while getopts ":hn:m:d:k" OPT
427427
do
@@ -445,6 +445,11 @@ cd $boincdir
445445

446446
getlock
447447
#Klog
448+
449+
# preliminary: remove temp dirs in work older than 1d
450+
log find ${spooldir} -mindepth 3 -maxdepth 3 -mtime +1 -type d -empty -delete -print
451+
find ${spooldir} -mindepth 3 -maxdepth 3 -mtime +1 -type d -empty -delete -print | log
452+
448453
log run_spool $maxjobs $maxjobs_perStudy $studyName
449454
run_spool $maxjobs $maxjobs_perStudy $studyName
450455

boinc_software/cronjobs/crontab_jobs_boincai08_sixtadm.txt

Lines changed: 0 additions & 23 deletions
This file was deleted.

boinc_software/cronjobs/zip-trashed-WUs.sh

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ allDir=all
99
zipToolDir=`basename $0`
1010
zipToolDir=${zipToolDir//.sh}
1111
initDir=$PWD
12-
tmpDirBase=/tmp/`basename $0`
12+
tmpDirBase=/tmp/sixtadm/`basename $0`
1313
lTest=false
1414

1515
boincdir=/data/boinc/project/sixtrack
@@ -47,11 +47,11 @@ function logtofile(){ #[opt-file] log_message
4747
function getlock(){
4848
if ln -s PID:$$ $lockfile >/dev/null 2>&1 ; then
4949
if ${lTest} ; then
50-
trap " rm $lockfile; log \" Relase lock $lockfile\"" EXIT
50+
trap "rm $lockfile; log \" Relase lock $lockfile\"" EXIT
5151
else
52-
trap " log \" cleaning ${tmpDirBase} away...\" ; rm -rf ${tmpDirBase} ; rm $lockfile; log \" Relase lock $lockfile\"" EXIT
52+
trap "log \" cleaning ${tmpDirBase} away...\" ; rm -rf ${tmpDirBase} ; rm $lockfile; log \" Relase lock $lockfile\"" EXIT
5353
fi
54-
log " got lock $lockfile"
54+
log "got lock $lockfile"
5555
else
5656
log "$lockfile already exists. $PWD/$0 already running? Abort..."
5757
#never get here
@@ -64,28 +64,19 @@ function treatStudy(){
6464
# - tmpDirBase
6565

6666
local __studyName=$1
67-
local __lAll=$2
6867

6968
# fileName of .zip
7069
local __zipFileName=${__studyName}__`date "+%Y-%m-%d_%H-%M-%S"`
7170
# tmpDir
7271
local __tmpDir=${tmpDirBase}/${__zipFileName}
7372
mkdir -p ${__tmpDir}
74-
log " ...zipping performed in tmp dir ${__tmpDir} ..."
73+
log "...zipping performed in tmp dir ${__tmpDir} ..."
7574
# actual fileName of .zip
7675
__zipFileName=${__zipFileName}.zip
7776
# zip
7877
zipAll ${__zipFileName} ${__tmpDir}
7978
# move
8079
mvZip ${__tmpDir}/${__zipFileName} ${__studyName}
81-
82-
if ! ${__lAll} ; then
83-
# moving old .zip files
84-
log " old .zip files ..."
85-
for __fileName in `find . -name "*.zip"` ; do
86-
mvZip ${__fileName} ${__studyName}
87-
done
88-
fi
8980
}
9081

9182
function mvZip(){
@@ -178,7 +169,7 @@ function actualZip(){
178169
# ==============================================================================
179170

180171
log ""
181-
log " starting `basename $0` at `date` ..."
172+
log "starting `basename $0` at `date` ..."
182173

183174
# adding lock mechanism
184175
getlock
@@ -193,7 +184,6 @@ Nzipped=0
193184
# ==============================================================================
194185

195186
cd ${allDir}
196-
lAll=true
197187

198188
# get WUs (grep -v is redundant, but it is kept for security)
199189
WUs2bZipped=`find . -mmin +5 -name "*__*" | grep -v '.zip'`
@@ -202,42 +192,36 @@ if [ -n "${WUs2bZipped}" ] ; then
202192
# get study names and simple statistics
203193
studyNameStats=`echo "${WUs2bZipped}" | awk 'BEGIN{FS="__"}{print ($1)}' | sort | uniq -c`
204194

205-
log " ... ${allDir} - studies involved:"
206-
log " # N_WUs, wSpace_studyName"
195+
log "... ${allDir} - studies involved:"
196+
log "# N_WUs, wSpace_studyName"
207197
log "${studyNameStats}"
208198

209199
# actually zip and move to boincDownloadDir
210200
for studyName in `echo "${studyNameStats}" | awk '{print ($2)}'` ; do
211201
WUnames=`echo "${WUs2bZipped}" | grep ${studyName}`
212-
treatStudy ${studyName} ${lAll}
202+
treatStudy ${studyName}
213203
done
214204

215-
# moving old or remaining .zip files
216-
log " old .zip files ..."
217-
for fileName in `find . -name "*.zip"` ; do
218-
mvZip ${fileName} ${fileName%%__*}
219-
done
220205
else
221-
log " ...only super-recent WUs in ${allDir}! - skipping..."
206+
log "...only super-recent WUs in ${allDir}! - skipping..."
222207
fi
223208

224209
cd ${initDir}
225-
lAll=false
226210

227211
# ==============================================================================
228212
# treat studies
229213
# ==============================================================================
230214

231215
for studyName in `ls -1d * | grep -v -e "^${allDir}$" -e "^${zipToolDir}$"` ; do
232-
log " ...study ${studyName}"
216+
log "...study ${studyName}"
233217
cd ${studyName}
234218

235219
# get ready for zipping and moving
236220
WUnames=`find . -mmin +5 -name "*__*" | grep -v '.zip'`
237221
if [ -n "${WUnames}" ] ; then
238-
treatStudy ${studyName} ${lAll}
222+
treatStudy ${studyName}
239223
else
240-
log " ...only super-recent WUs in ${studyName}! - skipping..."
224+
log "...only super-recent WUs in ${studyName}! - skipping..."
241225
fi
242226

243227
# get ready for next study
@@ -248,13 +232,22 @@ done
248232
# close processing
249233
# ==============================================================================
250234

235+
# moving old or remaining .zip files
236+
log "old .zip files ..."
237+
for fileName in `find . -name "*.zip"` ; do
238+
studyName=`basename ${fileName}`
239+
studyName=${studyName%%__*}
240+
log "--> mvZip ${fileName} ${studyName}"
241+
mvZip ${fileName} ${studyName}
242+
done
243+
251244
# rm empty dirs
252245
# NB: all might be empty - it is not actually, thanks to: all/.doNotRemoveMe
253-
log " finding and removing empty dirs..."
246+
log "finding and removing empty dirs..."
254247
find . -maxdepth 1 -type d -empty -delete -print | log
255248

256249
ENDTIME=$(date +%s)
257250

258251
# done
259252
TIMEDELTA=$(($ENDTIME - $STARTTIME))
260-
log " ...done by `date` - it took ${TIMEDELTA} seconds - zipped ${Nzipped} WUs."
253+
log "...done by `date` - it took ${TIMEDELTA} seconds - zipped ${Nzipped} WUs."
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
#!/bin/bash
22

3-
echo "# study, number of waiting jobs, number of problematic files, disk occupancy: work,results"
3+
echo "# study, number of waiting jobs, number of waiting jobs (subFolders), number of problematic files, disk occupancy: work,results"
44
for tmpWorkDir in `find . -maxdepth 2 -type d -name "work"` ; do
55
nFiles=`ls -1 ${tmpWorkDir}/*.desc 2> /dev/null | wc -l`
6+
nFilesSub=`ls -1 ${tmpWorkDir}/*/*.desc 2> /dev/null | wc -l`
67
nFilesProbl=`ls -1 ${tmpWorkDir}/*.desc.problem 2> /dev/null | wc -l`
78
diskOccupancyWork=`\du -csh ${tmpWorkDir}/ | tail -1 | awk '{print ($(NF-1))}'`
89
diskOccupancyResult=`\du -csh ${tmpWorkDir}/../results | tail -1 | awk '{print ($(NF-1))}'`
9-
[ ${nFiles} -eq 0 -a ${nFilesProbl} -eq 0 ] || echo ${tmpWorkDir} ${nFiles} - ${nFilesProbl} - ${diskOccupancyWork} ${diskOccupancyResult}
10+
[ ${nFiles} -eq 0 -a ${nFilesProbl} -eq 0 -a ${nFilesSub} -eq 0 ] || echo ${tmpWorkDir} ${nFiles} ${nFilesSub} - ${nFilesProbl} - ${diskOccupancyWork} ${diskOccupancyResult}
1011
done

boinc_software/monitor-boinc-server/general-activity/archive/plotData_period.gnu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
period='2018-02'
1+
period='2018-03'
22
iFileName='server_status_'.period
33

44
# changes in status page:

0 commit comments

Comments
 (0)