ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CRAB/python/SchedulerGlidein.py
(Generate patch)

Comparing COMP/CRAB/python/SchedulerGlidein.py (file contents):
Revision 1.13 by ewv, Fri Jun 6 20:32:01 2008 UTC vs.
Revision 1.18 by ewv, Thu Sep 3 16:14:55 2009 UTC

# Line 1 | Line 1
1 < from SchedulerCondorCommon import SchedulerCondorCommon
2 < import common
1 > """
2 > Glidein specific portions of the interface to the BossLite scheduler
3 > """
4  
5   __revision__ = "$Id$"
6   __version__ = "$Revision$"
7  
8 < class SchedulerGlidein(SchedulerCondorCommon):
9 <  def __init__(self):
9 <    SchedulerCondorCommon.__init__(self,"GLIDEIN")
10 <    return
8 > from SchedulerCondorCommon import SchedulerCondorCommon
9 > import common
10  
11 <  def sched_parameter(self,i,task):
11 > class SchedulerGlidein(SchedulerCondorCommon):
12      """
13 <    Return scheduler-specific parameters
13 >    Glidein specific portions of the interface to the BossLite scheduler
14      """
16    jobParams = SchedulerCondorCommon.sched_parameter(self,i,task)
17
18    ceDest = self.seListToCElist(task.jobs[i-1]['dlsDestination'], onlyOSG=False)
19    ceString = ','.join(ceDest)
20
21    jobParams += '+DESIRED_Gatekeepers = "'+ceString+'"; '
22    jobParams += '+DESIRED_Archs = "INTEL,X86_64"; '
23    jobParams += "Requirements = stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers) &&  stringListMember(Arch,DESIRED_Archs); "
24    if (self.EDG_clock_time):
25      jobParams += '+MaxWallTimeMins = '+self.EDG_clock_time+'; '
26    else:
27      jobParams += '+MaxWallTimeMins = 120; '
28
29    common._db.updateTask_({'jobType':jobParams})
30    return jobParams # Not sure I even need to return anything
31
32  def listMatch(self, seList, full):
33    ceDest = SchedulerCondorCommon.listMatch(seList, onlyOSG=False)
34    return ceDest
15  
16 +    def __init__(self):
17 +        SchedulerCondorCommon.__init__(self,"GLIDEIN")
18 +        self.environment_unique_identifier = '$Glidein_MonitorID'
19 +        return
20 +
21 +
22 +    def sched_parameter(self, i, task):
23 +        """
24 +        Return scheduler-specific parameters
25 +        """
26 +        jobParams = SchedulerCondorCommon.sched_parameter(self, i, task)
27 +        seDest = task.jobs[i-1]['dlsDestination']
28 +        ceDest = self.seListToCElist(seDest, onlyOSG=False)
29 +        ceString = ','.join(ceDest)
30 +
31 +        jobParams += '+DESIRED_Gatekeepers = "'+ceString+'"; '
32 +        jobParams += '+DESIRED_Archs = "INTEL,X86_64"; '
33 +        jobParams += "Requirements = stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers) &&  stringListMember(Arch,DESIRED_Archs); "
34 +        if (self.EDG_clock_time):
35 +            jobParams += '+MaxWallTimeMins = '+self.EDG_clock_time+'; '
36 +        else:
37 +            jobParams += '+MaxWallTimeMins = 1440; '
38 +
39 +        common._db.updateTask_({'jobType':jobParams})
40 +        return jobParams # Not sure I even need to return anything
41 +
42 +
43 +    def listMatch(self, seList, full, onlyOSG=False):
44 +        """
45 +        Check the compatibility of available resources
46 +        """
47 +        ceDest = SchedulerCondorCommon.listMatch(self, seList, full, onlyOSG=False)
48 +        return ceDest
49 +
50 +
51 +    def envUniqueID(self):
52 +        msg = 'JobID for ML monitoring is created for Glidein scheduler: %s'%id
53 +        common.logger.debug(msg)
54 +        return '$Glidein_MonitorID'

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines