4 |
|
import popen2 |
5 |
|
import time |
6 |
|
|
7 |
– |
from MCPayloads.WorkflowSpec import WorkflowSpec |
8 |
– |
from MCPayloads.LFNAlgorithm import unmergedLFNBase, mergedLFNBase |
9 |
– |
from CMSConfigTools.CfgInterface import CfgInterface |
10 |
– |
from MCPayloads.DatasetExpander import splitMultiTier |
11 |
– |
import MCPayloads.WorkflowTools as WorkflowTools |
12 |
– |
import MCPayloads.UUID as MCPayloadsUUID |
7 |
|
|
8 |
|
# Fixme: do the same for createProdWorkflow |
9 |
< |
def createPreProdWorkflow (pycfg = None, |
10 |
< |
psetHash = None, |
9 |
> |
def createPreProdWorkflow (PyCfg = None, |
10 |
> |
PSetHash = None, |
11 |
|
prodName = None, |
12 |
< |
version = None, |
12 |
> |
cmsswVersion = None, |
13 |
|
category = "PreProd", |
14 |
|
timestamp = int(time.time()), |
15 |
< |
fakeHash = False, |
15 |
> |
FakeHash = False, |
16 |
|
pileupDS = None, |
17 |
|
pileupFilesPerJob = 1, |
18 |
|
dbsAddress = None, |
34 |
|
cmsRun.name = "cmsRun1" # every node in the workflow needs a unique name |
35 |
|
cmsRun.type = "CMSSW" # Nodes that are CMSSW based should set the name |
36 |
|
cmsRun.application["Project"] = "CMSSW" # project |
37 |
< |
cmsRun.application["Version"] = version # version |
37 |
> |
cmsRun.application["Version"] = cmsswVersion # version |
38 |
|
cmsRun.application["Architecture"] = "slc3_ia32_gcc323" # arch (not needed) |
39 |
|
cmsRun.application["Executable"] = "cmsRun" # binary name |
40 |
< |
cmsRun.configuration = pycfg # Python PSet file |
40 |
> |
cmsRun.configuration = PyCfg # Python PSet file |
41 |
|
|
42 |
|
|
43 |
|
# // |
86 |
|
outDS["ApplicationProject"] = cmsRun.application["Project"] |
87 |
|
outDS["ApplicationVersion"] = cmsRun.application["Version"] |
88 |
|
outDS["ApplicationFamily"] = outModName |
89 |
< |
if fakeHash: |
89 |
> |
if FakeHash: |
90 |
|
guid = MCPayloadsUUID.uuidgen() |
91 |
|
if guid == None: |
92 |
|
guid = MCPayloadsUUID.uuid() |
93 |
< |
hashValue = "hash=%s;guid=%s" % (psetHash, guid) |
93 |
> |
hashValue = "hash=%s;guid=%s" % (PSetHash, guid) |
94 |
|
outDS['PSetHash'] = hashValue |
95 |
|
else: |
96 |
< |
outDS['PSetHash'] = psetHash |
96 |
> |
outDS['PSetHash'] = PSetHash |
97 |
|
datasetList.append(outDS.name()) |
98 |
|
|
99 |
|
stageOut = cmsRun.newNode("stageOut1") |
107 |
|
mergedLFNBase(spec) |
108 |
|
unmergedLFNBase(spec) |
109 |
|
|
110 |
< |
return spec.makeIMProv().makeDOMElement().toprettyxml() |
110 |
> |
return spec |