1 |
slacapra |
1.1 |
from Scheduler import Scheduler
|
2 |
|
|
from SchedulerLsf import SchedulerLsf
|
3 |
|
|
from crab_exceptions import *
|
4 |
|
|
import common
|
5 |
|
|
|
6 |
|
|
import os,string
|
7 |
|
|
|
8 |
|
|
#
|
9 |
|
|
# Naming convention:
|
10 |
|
|
# methods starting with 'ws' are responsible to provide
|
11 |
|
|
# corresponding part of the job script ('ws' stands for 'write script').
|
12 |
|
|
#
|
13 |
|
|
|
14 |
|
|
class SchedulerCaf(SchedulerLsf) :
|
15 |
|
|
|
16 |
|
|
def __init__(self):
|
17 |
|
|
SchedulerLsf.__init__(self)
|
18 |
|
|
Scheduler.__init__(self,"CAF")
|
19 |
|
|
|
20 |
|
|
return
|
21 |
|
|
|
22 |
|
|
def configure(self, cfg_params):
|
23 |
|
|
"""
|
24 |
|
|
CAF is just a special queue and resources for LSF at CERN
|
25 |
|
|
"""
|
26 |
|
|
SchedulerLsf.configure(self, cfg_params)
|
27 |
spiga |
1.11 |
self.queue = cfg_params.get(self.name().upper()+'.queue','cmscaf1nw')
|
28 |
spiga |
1.14 |
self.res = cfg_params.get(self.name().upper()+'.resource','"type==SLC5_64 || type==SLC4_64"')
|
29 |
fanzago |
1.9 |
self.pool = cfg_params.get('USER.storage_pool','cmscafuser')
|
30 |
|
|
|
31 |
spiga |
1.15 |
# def wsSetupEnvironment(self):
|
32 |
|
|
# """
|
33 |
|
|
# Returns part of a job script which does scheduler-specific work.
|
34 |
|
|
# """
|
35 |
|
|
# txt = SchedulerLsf.wsSetupEnvironment(self)
|
36 |
|
|
# txt += '# CAF specific stuff\n'
|
37 |
|
|
# #txt += 'export STAGE_SVCCLASS=cmscaf \n'
|
38 |
|
|
# txt += '\n'
|
39 |
|
|
# return txt
|
40 |
slacapra |
1.1 |
|
41 |
fanzago |
1.9 |
def wsCopyOutput(self):
|
42 |
|
|
### default is the name of the storage pool
|
43 |
|
|
### where users can copy job outputs
|
44 |
spiga |
1.10 |
txt=self.wsCopyOutput_comm(self.pool)
|
45 |
slacapra |
1.1 |
return txt
|