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) |
15 |
|
|
16 |
< |
jobParams += '+DESIRED_Gatekeepers = "'+ceString+'"; ' |
17 |
< |
jobParams += '+DESIRED_Archs = "INTEL,X86_64"; ' |
18 |
< |
jobParams += "Requirements = stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers) && stringListMember(Arch,DESIRED_Archs); " |
19 |
< |
if (self.EDG_clock_time): |
20 |
< |
jobParams += '+MaxWallTimeMins = '+self.EDG_clock_time+'; ' |
21 |
< |
else: |
22 |
< |
jobParams += '+MaxWallTimeMins = 120; ' |
23 |
< |
|
24 |
< |
common._db.updateTask_({'jobType':jobParams}) |
25 |
< |
return jobParams # Not sure I even need to return anything |
26 |
< |
|
27 |
< |
def listMatch(self, seList): |
28 |
< |
ceDest = SchedulerCondorCommon.listMatch(seList, onlyOSG=False) |
29 |
< |
return ceDest |
16 |
> |
def __init__(self): |
17 |
> |
SchedulerCondorCommon.__init__(self,"GLIDEIN") |
18 |
> |
return |
19 |
> |
|
20 |
> |
def sched_parameter(self, i, task): |
21 |
> |
""" |
22 |
> |
Return scheduler-specific parameters |
23 |
> |
""" |
24 |
> |
jobParams = SchedulerCondorCommon.sched_parameter(self, i, task) |
25 |
> |
seDest = task.jobs[i-1]['dlsDestination'] |
26 |
> |
ceDest = self.seListToCElist(seDest, onlyOSG=False) |
27 |
> |
ceString = ','.join(ceDest) |
28 |
> |
|
29 |
> |
jobParams += '+DESIRED_Gatekeepers = "'+ceString+'"; ' |
30 |
> |
jobParams += '+DESIRED_Archs = "INTEL,X86_64"; ' |
31 |
> |
jobParams += "Requirements = stringListMember(GLIDEIN_Gatekeeper,DESIRED_Gatekeepers) && stringListMember(Arch,DESIRED_Archs); " |
32 |
> |
if (self.EDG_clock_time): |
33 |
> |
jobParams += '+MaxWallTimeMins = '+self.EDG_clock_time+'; ' |
34 |
> |
else: |
35 |
> |
jobParams += '+MaxWallTimeMins = 120; ' |
36 |
> |
|
37 |
> |
common._db.updateTask_({'jobType':jobParams}) |
38 |
> |
return jobParams # Not sure I even need to return anything |
39 |
> |
|
40 |
> |
def listMatch(self, seList, full, onlyOSG=False): |
41 |
> |
""" |
42 |
> |
Check the compatibility of available resources |
43 |
> |
""" |
44 |
> |
ceDest = SchedulerCondorCommon.listMatch(seList, onlyOSG=False) |
45 |
> |
return ceDest |
46 |
|
|