~ubuntu-branches/ubuntu/utopic/gridengine/utopic

« back to all changes in this revision

Viewing changes to source/dist/ckpt/cray_migration_command

  • Committer: Bazaar Package Importer
  • Author(s): Mark Hymers
  • Date: 2008-06-25 22:36:13 UTC
  • Revision ID: james.westby@ubuntu.com-20080625223613-tvd9xlhuoct9kyhm
Tags: upstream-6.2~beta2
ImportĀ upstreamĀ versionĀ 6.2~beta2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
#
 
3
#
 
4
#___INFO__MARK_BEGIN__
 
5
##########################################################################
 
6
#
 
7
#  The Contents of this file are made available subject to the terms of
 
8
#  the Sun Industry Standards Source License Version 1.2
 
9
#
 
10
#  Sun Microsystems Inc., March, 2001
 
11
#
 
12
#
 
13
#  Sun Industry Standards Source License Version 1.2
 
14
#  =================================================
 
15
#  The contents of this file are subject to the Sun Industry Standards
 
16
#  Source License Version 1.2 (the "License"); You may not use this file
 
17
#  except in compliance with the License. You may obtain a copy of the
 
18
#  License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
 
19
#
 
20
#  Software provided under this License is provided on an "AS IS" basis,
 
21
#  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
 
22
#  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
 
23
#  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
 
24
#  See the License for the specific provisions governing your rights and
 
25
#  obligations concerning the Software.
 
26
#
 
27
#  The Initial Developer of the Original Code is: Sun Microsystems, Inc.
 
28
#
 
29
#  Copyright: 2001 by Sun Microsystems, Inc.
 
30
#
 
31
#  All Rights Reserved.
 
32
#
 
33
##########################################################################
 
34
#___INFO__MARK_END__
 
35
 
 
36
ckpt_dir=$3
 
37
 
 
38
if [ ! -f $ckpt_dir/ckpt.log ]; then
 
39
   touch $ckpt_dir/ckpt.log
 
40
   chmod 666 $ckpt_dir/ckpt.log
 
41
fi
 
42
 
 
43
# create temp directory for holding checkpoint info
 
44
 
 
45
tmpdir=$ckpt_dir/ckpt.$1
 
46
mkdir -p $tmpdir
 
47
cd $tmpdir
 
48
 
 
49
# create log file
 
50
F=$tmpdir/checkpoint.log
 
51
touch $F
 
52
 
 
53
echo -------------------------------------------------------------  >> $F 2>&1
 
54
echo `basename $0` called at `date`      >> $F 2>&1
 
55
echo called by: `id`                     >> $F 2>&1
 
56
echo with args: $*                       >> $F 2>&1
 
57
 
 
58
# Cray checkpoint workaround - delete the job script so chkpnt(1)
 
59
# will save and restore it.  For this to work, "shell_start_mode"
 
60
# should be set to "script_from_stdin" in the global cluster
 
61
# configuration
 
62
 
 
63
rm -f $JOB_SCRIPT >> $F 2>&1
 
64
 
 
65
# get the O.S. job identifier
 
66
 
 
67
#job_id=`ps -elw|grep $2 |cut -c34-39,172-176 |grep $2 |cut -c8-12`
 
68
 
 
69
if [ -f osjobid ]
 
70
then
 
71
    job_id=`cat osjobid`
 
72
else
 
73
    job_dir=`dirname $JOB_SCRIPT`/../active_jobs/$1
 
74
    job_id=`cat $job_dir/osjobid`
 
75
    echo $job_id > osjobid
 
76
fi
 
77
 
 
78
# checkpoint the job to a temporary file and then rename that file
 
79
# just in case we go down while checkpointing
 
80
 
 
81
#rm -f chkpnt_$1
 
82
echo /usr/bin/chkpnt -j $job_id -v -k -f chkpnt_$1 >> $F 2>&1
 
83
/usr/bin/chkpnt -j $job_id -v -k -f chkpnt_$1.new >> $F 2>&1
 
84
cc=$?
 
85
mv chkpnt_$1.new chkpnt_$1
 
86
 
 
87
echo `date +"%D %T"` "Job $1 (osjobid=$job_id) checkpointed and killed, status=$cc" >> $ckpt_dir/ckpt.log