Skip to content

Commit 300a742

Browse files
committed
dq-submit = dq-prepare + dq-churn
Signed-off-by: Anand Avati <[email protected]>
1 parent b6423bf commit 300a742

File tree

3 files changed

+55
-50
lines changed

3 files changed

+55
-50
lines changed

dq-prepare

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/bin/bash
2+
3+
D=$(cd `dirname $0` && pwd)
4+
umask 002
5+
6+
JOBSCRIPT=$1
7+
8+
if [ ! -r $JOBSCRIPT ]; then
9+
echo "Cannot read $JOBSCRIPT"
10+
exit 1
11+
fi
12+
13+
QDIR=$D/jobs/queue
14+
ADIR=$D/jobs/active
15+
CDIR=$D/jobs/complete
16+
17+
echo -n "Locking..."
18+
mkdir -p $QDIR $ADIR $CDIR && touch $QDIR
19+
20+
(
21+
flock -xn 200 || echo -n " (waiting...)"
22+
flock -xw 10 200 || {
23+
echo " Timeout!"
24+
echo "Please inspect system with 'dq-status' 'dq-free' etc."
25+
exit 1
26+
}
27+
28+
echo " locked."
29+
30+
touch $QDIR/.jobid # refresh NFS cache
31+
n=$(cat $QDIR/.jobid | sed -e 's/[^0-9]//g')
32+
if [ "x$n" = "x" ] ; then
33+
N=1
34+
else
35+
N=$(( $n + 1 ))
36+
fi
37+
38+
JOBID=$N-$USER
39+
echo $N > $QDIR/.jobid
40+
41+
mkdir $QDIR/$JOBID && cp $JOBSCRIPT $QDIR/$JOBID/runme.sh && chmod +x $QDIR/$JOBID/runme.sh || exit 1
42+
echo $PATH:$D:$D/scripts > $QDIR/$JOBID/cpath.txt
43+
echo $PWD > $QDIR/$JOBID/cpwd.txt
44+
echo $USER > $QDIR/$JOBID/user.txt
45+
set | grep DQ_ | sed 's/^/export /g' > $QDIR/$JOBID/env.txt
46+
if [ "x$KRB5CCNAME" != "x" ]; then
47+
cp $(echo $KRB5CCNAME | sed 's/^[^:]*://') $QDIR/$JOBID/ticket.krb5
48+
fi
49+
echo "Job ID: '$JOBID'"
50+
51+
) 200>$QDIR/.lock
52+

dq-submit

+1-49
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,5 @@
11
#!/bin/bash
22

33
D=$(cd `dirname $0` && pwd)
4-
umask 002
54

6-
JOBSCRIPT=$1
7-
8-
if [ ! -r $JOBSCRIPT ]; then
9-
echo "Cannot read $JOBSCRIPT"
10-
exit 1
11-
fi
12-
13-
QDIR=$D/jobs/queue
14-
ADIR=$D/jobs/active
15-
CDIR=$D/jobs/complete
16-
17-
echo -n "Locking..."
18-
mkdir -p $QDIR $ADIR $CDIR && touch $QDIR
19-
20-
(
21-
flock -xn 200 || echo -n " (waiting...)"
22-
flock -xw 10 200 || {
23-
echo " Timeout!"
24-
echo "Please inspect system with 'dq-status' 'dq-free' etc."
25-
exit 1
26-
}
27-
28-
echo " locked."
29-
30-
touch $QDIR/.jobid # refresh NFS cache
31-
n=$(cat $QDIR/.jobid | sed -e 's/[^0-9]//g')
32-
if [ "x$n" = "x" ] ; then
33-
N=1
34-
else
35-
N=$(( $n + 1 ))
36-
fi
37-
38-
JOBID=$N-$USER
39-
echo $N > $QDIR/.jobid
40-
41-
mkdir $QDIR/$JOBID && cp $JOBSCRIPT $QDIR/$JOBID/runme.sh && chmod +x $QDIR/$JOBID/runme.sh || exit 1
42-
echo $PATH:$D:$D/scripts > $QDIR/$JOBID/cpath.txt
43-
echo $PWD > $QDIR/$JOBID/cpwd.txt
44-
echo $USER > $QDIR/$JOBID/user.txt
45-
set | grep DQ_ | sed 's/^/export /g' > $QDIR/$JOBID/env.txt
46-
if [ "x$KRB5CCNAME" != "x" ]; then
47-
cp $(echo $KRB5CCNAME | sed 's/^[^:]*://') $QDIR/$JOBID/ticket.krb5
48-
fi
49-
echo "Job ID: '$JOBID'"
50-
51-
) 200>$QDIR/.lock
52-
53-
$D/dq-churn
5+
$D/dq-prepare "$@" && $D/dq-churn

install.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ function install_fix {
2222

2323
install $D/dq-on-all $DIR/dq-on-all -D -m 0755
2424
install $D/dq-submit $DIR/dq-submit -D -m 0755
25+
install $D/dq-prepare $DIR/dq-prepare -D -m 0755
2526
install $D/dq-churn $DIR/dq-churn -D -m 0755
2627
install $D/dq-jobs $DIR/dq-jobs -D -m 0755
2728
install $D/dq-submit-backend $DIR/dq-submit-backend -D -m 0755
@@ -37,4 +38,4 @@ install_fix $D/scripts/gpu-users $DIR/scripts/gpu-users -D -m 0755
3738
install_fix $D/scripts/gpu-free $DIR/scripts/gpu-free -D -m 0755
3839
install_fix $D/scripts/gpu-free-list $DIR/scripts/gpu-free-list -D -m 0755
3940

40-
chmod g+w $DIR
41+
chmod g+w $DIR

0 commit comments

Comments
 (0)