@@ -225,8 +225,7 @@ def configureRunStream(tier0Config, run, stream, specDirectory, dqmUploadProxy):
225225 #
226226 # for PhEDEx subscription settings
227227 #
228- subscriptions = { 'Express' : [],
229- 'Bulk' : [] }
228+ subscriptions = []
230229
231230 # some hardcoded PhEDEx defaults
232231 expressPhEDExInjectNode = "T2_CH_CERN"
@@ -284,16 +283,15 @@ def configureRunStream(tier0Config, run, stream, specDirectory, dqmUploadProxy):
284283
285284 bindsPhEDExConfig .append ( { 'RUN' : run ,
286285 'PRIMDS' : specialDataset ,
287- 'NODE' : expressPhEDExSubscribeNode ,
288- 'CUSTODIAL' : 1 ,
289- 'REQ_ONLY' : "n" ,
290- 'PRIO' : "high" } )
286+ 'ARCHIVAL_NODE' : None ,
287+ 'TAPE_NODE' : None ,
288+ 'DISK_NODE' : expressPhEDExSubscribeNode } )
291289
292- subscriptions [ 'Express' ] .append ( { 'custodialSites' : [],
293- 'nonCustodialSites' : [expressPhEDExSubscribeNode ],
294- 'autoApproveSites' : [expressPhEDExSubscribeNode ],
295- 'priority' : "high" ,
296- 'primaryDataset' : specialDataset } )
290+ subscriptions .append ( { 'custodialSites' : [],
291+ 'nonCustodialSites' : [ expressPhEDExSubscribeNode ],
292+ 'autoApproveSites' : [ expressPhEDExSubscribeNode ],
293+ 'priority' : "high" ,
294+ 'primaryDataset' : specialDataset } )
297295
298296 alcaSkim = None
299297 if "ALCARECO" in streamConfig .Express .DataTiers :
@@ -380,49 +378,32 @@ def configureRunStream(tier0Config, run, stream, specDirectory, dqmUploadProxy):
380378 'selectEvents' : selectEvents ,
381379 'primaryDataset' : dataset } )
382380
381+ bindsPhEDExConfig .append ( { 'RUN' : run ,
382+ 'PRIMDS' : dataset ,
383+ 'ARCHIVAL_NODE' : datasetConfig .ArchivalNode ,
384+ 'TAPE_NODE' : datasetConfig .TapeNode ,
385+ 'DISK_NODE' : datasetConfig .DiskNode } )
386+
383387 custodialSites = []
384- nonCustodialSites = []
385388 autoApproveSites = []
386-
387- if datasetConfig .CustodialNode != None :
388-
389- custodialSites .append (datasetConfig .CustodialNode )
390-
391- requestOnly = "y"
392- if datasetConfig .CustodialAutoApprove :
393- requestOnly = "n"
394- autoApproveSites .append (datasetConfig .CustodialNode )
395-
396- bindsStorageNode .append ( { 'NODE' : datasetConfig .CustodialNode } )
397-
398- bindsPhEDExConfig .append ( { 'RUN' : run ,
399- 'PRIMDS' : dataset ,
400- 'NODE' : datasetConfig .CustodialNode ,
401- 'CUSTODIAL' : 1 ,
402- 'REQ_ONLY' : requestOnly ,
403- 'PRIO' : datasetConfig .CustodialPriority } )
404-
405389 if datasetConfig .ArchivalNode != None :
406-
390+ bindsStorageNode . append ( { 'NODE' : datasetConfig . ArchivalNode } )
407391 custodialSites .append (datasetConfig .ArchivalNode )
408392 autoApproveSites .append (datasetConfig .ArchivalNode )
409-
410- bindsStorageNode .append ( { 'NODE' : datasetConfig .ArchivalNode } )
411-
412- bindsPhEDExConfig .append ( { 'RUN' : run ,
413- 'PRIMDS' : dataset ,
414- 'NODE' : datasetConfig .ArchivalNode ,
415- 'CUSTODIAL' : 1 ,
416- 'REQ_ONLY' : "n" ,
417- 'PRIO' : datasetConfig .CustodialPriority } )
418-
419- if len (custodialSites ) + len (nonCustodialSites ) > 0 :
420- subscriptions ['Bulk' ].append ( { 'custodialSites' : custodialSites ,
421- 'custodialSubType' : "Replica" ,
422- 'nonCustodialSites' : nonCustodialSites ,
423- 'autoApproveSites' : autoApproveSites ,
424- 'priority' : datasetConfig .CustodialPriority ,
425- 'primaryDataset' : dataset } )
393+ if datasetConfig .TapeNode != None :
394+ bindsStorageNode .append ( { 'NODE' : datasetConfig .TapeNode } )
395+ custodialSites .append (datasetConfig .TapeNode )
396+ if datasetConfig .DiskNode != None :
397+ bindsStorageNode .append ( { 'NODE' : datasetConfig .DiskNode } )
398+
399+ if len (custodialSites ) > 0 :
400+ subscriptions .append ( { 'custodialSites' : custodialSites ,
401+ 'custodialSubType' : "Replica" ,
402+ 'nonCustodialSites' : [],
403+ 'autoApproveSites' : autoApproveSites ,
404+ 'priority' : "high" ,
405+ 'primaryDataset' : dataset ,
406+ 'dataTier' : "RAW" } )
426407
427408 elif streamConfig .ProcessingStyle == "Express" :
428409
@@ -436,16 +417,15 @@ def configureRunStream(tier0Config, run, stream, specDirectory, dqmUploadProxy):
436417
437418 bindsPhEDExConfig .append ( { 'RUN' : run ,
438419 'PRIMDS' : dataset ,
439- 'NODE' : expressPhEDExSubscribeNode ,
440- 'CUSTODIAL' : 1 ,
441- 'REQ_ONLY' : "n" ,
442- 'PRIO' : "high" } )
443-
444- subscriptions ['Express' ].append ( { 'custodialSites' : [],
445- 'nonCustodialSites' : [expressPhEDExSubscribeNode ],
446- 'autoApproveSites' : [expressPhEDExSubscribeNode ],
447- 'priority' : "high" ,
448- 'primaryDataset' : dataset } )
420+ 'ARCHIVAL_NODE' : None ,
421+ 'TAPE_NODE' : None ,
422+ 'DISK_NODE' : expressPhEDExSubscribeNode } )
423+
424+ subscriptions .append ( { 'custodialSites' : [],
425+ 'nonCustodialSites' : [ expressPhEDExSubscribeNode ],
426+ 'autoApproveSites' : [ expressPhEDExSubscribeNode ],
427+ 'priority' : "high" ,
428+ 'primaryDataset' : dataset } )
449429
450430 #
451431 # finally create WMSpec
@@ -545,13 +525,13 @@ def configureRunStream(tier0Config, run, stream, specDirectory, dqmUploadProxy):
545525 factory = RepackWorkloadFactory ()
546526 wmSpec = factory .factoryWorkloadConstruction (workflowName , specArguments )
547527 wmSpec .setPhEDExInjectionOverride (runInfo ['bulk_data_loc' ])
548- for subscription in subscriptions [ 'Bulk' ] :
528+ for subscription in subscriptions :
549529 wmSpec .setSubscriptionInformation (** subscription )
550530 elif streamConfig .ProcessingStyle == "Express" :
551531 factory = ExpressWorkloadFactory ()
552532 wmSpec = factory .factoryWorkloadConstruction (workflowName , specArguments )
553533 wmSpec .setPhEDExInjectionOverride (expressPhEDExInjectNode )
554- for subscription in subscriptions [ 'Express' ] :
534+ for subscription in subscriptions :
555535 wmSpec .setSubscriptionInformation (** subscription )
556536
557537 if streamConfig .ProcessingStyle in [ 'Bulk' , 'Express' ]:
@@ -726,28 +706,55 @@ def releasePromptReco(tier0Config, specDirectory, dqmUploadProxy):
726706 'SCRAM_ARCH' : datasetConfig .ScramArch ,
727707 'GLOBAL_TAG' : datasetConfig .GlobalTag } )
728708
729- phedexConfig = phedexConfigs .get (dataset , {})
730-
731- custodialSites = []
732- nonCustodialSites = []
733- autoApproveSites = []
709+ phedexConfig = phedexConfigs [dataset ]
734710
735- for node , config in phedexConfig . items () :
711+ if datasetConfig . WriteAOD :
736712
737- if config ['custodial' ] == 1 :
738- custodialSites .append (node )
739- else :
740- nonCustodialSites .append (node )
713+ custodialSites = []
714+ nonCustodialSites = []
715+ autoApproveSites = []
741716
742- if config ['request_only' ] == "n" :
743- autoApproveSites .append (node )
717+ if phedexConfig ['tape_node' ] != None :
718+ custodialSites .append (phedexConfig ['tape_node' ])
719+ if phedexConfig ['disk_node' ] != None :
720+ nonCustodialSites .append (phedexConfig ['disk_node' ])
721+ autoApproveSites .append (phedexConfig ['disk_node' ])
744722
745- if len (custodialSites ) + len (nonCustodialSites ) > 0 :
746723 subscriptions .append ( { 'custodialSites' : custodialSites ,
747- 'nonCustodialSites' : nonCustodialSites ,
748- 'autoApproveSites' : autoApproveSites ,
749- 'priority' : config ['priority' ],
750- 'primaryDataset' : dataset } )
724+ 'custodialSubType' : "Replica" ,
725+ 'nonCustodialSites' : nonCustodialSites ,
726+ 'autoApproveSites' : autoApproveSites ,
727+ 'priority' : "high" ,
728+ 'primaryDataset' : dataset ,
729+ 'dataTier' : "AOD" } )
730+
731+ if len (datasetConfig .AlcaSkims ) > 0 :
732+ if phedexConfig ['tape_node' ] != None :
733+ subscriptions .append ( { 'custodialSites' : [phedexConfig ['tape_node' ]],
734+ 'custodialSubType' : "Replica" ,
735+ 'nonCustodialSites' : [],
736+ 'autoApproveSites' : [],
737+ 'priority' : "high" ,
738+ 'primaryDataset' : dataset ,
739+ 'dataTier' : "ALCARECO" } )
740+ if datasetConfig .WriteDQM :
741+ if phedexConfig ['tape_node' ] != None :
742+ subscriptions .append ( { 'custodialSites' : [phedexConfig ['tape_node' ]],
743+ 'custodialSubType' : "Replica" ,
744+ 'nonCustodialSites' : [],
745+ 'autoApproveSites' : [],
746+ 'priority' : "high" ,
747+ 'primaryDataset' : dataset ,
748+ 'dataTier' : "DQM" } )
749+
750+ if datasetConfig .WriteRECO :
751+ if phedexConfig ['disk_node' ] != None :
752+ subscriptions .append ( { 'custodialSites' : [],
753+ 'nonCustodialSites' : [phedexConfig ['disk_node' ]],
754+ 'autoApproveSites' : [phedexConfig ['disk_node' ]],
755+ 'priority' : "high" ,
756+ 'primaryDataset' : dataset ,
757+ 'dataTier' : "RECO" } )
751758
752759 writeTiers = []
753760 if datasetConfig .WriteRECO :
0 commit comments