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

Comparing COMP/CRAB/python/SchedulerRemoteglidein.py (file contents):
Revision 1.16 by belforte, Tue Mar 12 21:17:07 2013 UTC vs.
Revision 1.22 by belforte, Tue Sep 3 13:57:24 2013 UTC

# Line 5 | Line 5 | Implements the Remote Glidein scheduler
5   from SchedulerGrid  import SchedulerGrid
6   from crab_exceptions import CrabException
7   from crab_util import runCommand
8 + from crab_util import gethnUserNameFromSiteDB
9   from ServerConfig import *
9 from WMCore.SiteScreening.BlackWhiteListParser import SEBlackWhiteListParser
10   import Scram
11  
12   import common
# Line 121 | Line 121 | class SchedulerRemoteglidein(SchedulerGr
121              raise CrabException(msg)
122  
123          return
124    
125    def userName(self):
126        """ return the user name """
127        tmp=runCommand("voms-proxy-info -identity 2>/dev/null")
128        return tmp.strip()
124  
125 + #
126      def envUniqueID(self):
127          taskHash = sha1(common._db.queryTask('name')).hexdigest()
128          id = "https://" + socket.gethostname() + '/' + taskHash + "/${NJob}"
# Line 150 | Line 146 | class SchedulerRemoteglidein(SchedulerGr
146              seDest = self.blackWhiteListParser.expandList("T") # all of SiteDB
147  
148          seString=self.blackWhiteListParser.cleanForBlackWhiteList(seDest)
149 <
149 >        # beware SiteDB V2 API, explicely cast to string in case it is unicode
150 >        seString=str(seString)
151 >        
152          jobParams += '+DESIRED_SEs = "'+seString+'"; '
153  
154          scram = Scram.Scram(None)
# Line 160 | Line 158 | class SchedulerRemoteglidein(SchedulerGr
158          cmsver=re.split('_', cmsVersion)
159          numericCmsVersion = "%s%.2d%.2d" %(cmsver[1], int(cmsver[2]), int(cmsver[3]))
160  
161 +        # protect against datasetPath being None
162 +        jobParams += '+DESIRED_CMSDataset ="' + str(self.datasetPath) + '";'
163 +            
164          jobParams += '+DESIRED_CMSVersion ="' +cmsVersion+'";'
165          jobParams += '+DESIRED_CMSVersionNr ="' +numericCmsVersion+'";'
166          jobParams += '+DESIRED_CMSScramArch ="' +scramArch+'";'
167 +
168 +        userName = gethnUserNameFromSiteDB()
169 +        jobParams += '+AccountingGroup ="' + userName+'";'
170          
171          myscheddName = self.remoteHost
172  
# Line 170 | Line 174 | class SchedulerRemoteglidein(SchedulerGr
174                       '//' + self.submissionDay + '//$(Cluster).$(Process)"; '
175  
176          if (self.EDG_clock_time):
177 <            glideinTime = "%d" % (int(self.EDG_clock_time)+5) # 5 min to wrapup
177 >            glideinTime = "%d" % (int(self.EDG_clock_time)+20) # 20 min to wrapup
178              jobParams += '+MaxWallTimeMins = '+ glideinTime + '; '
179          else:
180              jobParams += '+MaxWallTimeMins = %d; ' % (21*60+55) #  21:55h  (unit = min)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines