5 |
|
from SchedulerGrid import SchedulerGrid |
6 |
|
from crab_exceptions import CrabException |
7 |
|
from crab_util import runCommand |
8 |
– |
#from WMCore.SiteScreening.BlackWhiteListParser import CEBlackWhiteListParser |
8 |
|
from WMCore.SiteScreening.BlackWhiteListParser import SEBlackWhiteListParser |
9 |
< |
|
9 |
> |
import Scram |
10 |
|
|
11 |
|
|
12 |
|
import common |
13 |
|
import os |
14 |
|
import socket |
15 |
+ |
import re |
16 |
|
|
17 |
|
# FUTURE: for python 2.4 & 2.6 |
18 |
|
try: |
38 |
|
self.OSBsize = 50*1000*1000 # 50 MB |
39 |
|
|
40 |
|
self.environment_unique_identifier = None |
41 |
+ |
|
42 |
|
return |
43 |
|
|
44 |
|
|
52 |
|
self.proxyValid=0 |
53 |
|
self.dontCheckProxy=int(cfg_params.get("GRID.dont_check_proxy",0)) |
54 |
|
self.space_token = cfg_params.get("USER.space_token",None) |
55 |
< |
try: |
55 |
< |
self.proxyServer = Downloader("http://cmsdoc.cern.ch/cms/LCG/crab/config/").config("myproxy_server.conf") |
56 |
< |
self.proxyServer = self.proxyServer.strip() |
57 |
< |
if self.proxyServer is None: |
58 |
< |
raise CrabException("myproxy_server.conf retrieved but empty") |
59 |
< |
except Exception, e: |
60 |
< |
common.logger.info("Problem setting myproxy server endpoint: using myproxy.cern.ch") |
61 |
< |
common.logger.debug(e) |
62 |
< |
self.proxyServer= 'myproxy.cern.ch' |
55 |
> |
self.proxyServer= 'myproxy.cern.ch' |
56 |
|
self.group = cfg_params.get("GRID.group", None) |
57 |
|
self.role = cfg_params.get("GRID.role", None) |
58 |
|
self.VO = cfg_params.get('GRID.virtual_organization','cms') |
59 |
< |
|
59 |
> |
|
60 |
|
try: |
61 |
|
tmp = cfg_params['CMSSW.datasetpath'] |
62 |
|
if tmp.lower() == 'none': |
69 |
|
msg = "Error: datasetpath not defined " |
70 |
|
raise CrabException(msg) |
71 |
|
|
72 |
+ |
if cfg_params.get('GRID.ce_black_list', None) or \ |
73 |
+ |
cfg_params.get('GRID.ce_white_list', None) : |
74 |
+ |
msg="BEWARE: scheduler RGLIDEIN ignores CE black/white lists." |
75 |
+ |
msg+="\n Remove them from crab configuration to proceed." |
76 |
+ |
msg+="\n Use GRID.se_white_list and/or GRID.se_black_list instead" |
77 |
+ |
raise CrabException(msg) |
78 |
+ |
|
79 |
|
self.checkProxy() |
80 |
|
|
81 |
|
return |
107 |
|
seString=self.blackWhiteListParser.cleanForBlackWhiteList(seDest) |
108 |
|
|
109 |
|
jobParams += '+DESIRED_SEs = "'+seString+'"; ' |
110 |
+ |
|
111 |
+ |
scram = Scram.Scram(None) |
112 |
+ |
cmsVersion = scram.getSWVersion() |
113 |
+ |
scramArch = scram.getArch() |
114 |
+ |
|
115 |
+ |
cmsver=re.split('_', cmsVersion) |
116 |
+ |
numericCmsVersion = "%s%.2d%.2d" %(cmsver[1], int(cmsver[2]), int(cmsver[3])) |
117 |
+ |
|
118 |
+ |
jobParams += '+DESIRED_CMSVersion ="' +cmsVersion+'";' |
119 |
+ |
jobParams += '+DESIRED_CMSVersionNr ="' +numericCmsVersion+'";' |
120 |
+ |
jobParams += '+DESIRED_CMSScramArch ="' +scramArch+'";' |
121 |
+ |
|
122 |
|
myschedName = self.rcondorHost |
123 |
|
jobParams += '+Glidein_MonitorID = "https://'+ myschedName + '//$(Cluster).$(Process)"; ' |
124 |
|
|