diff --git a/test/python/WMCore_t/Misc_t/Runtime_t.py b/test/python/WMCore_t/Misc_t/Runtime_t.py
index aa2a17697d..cdf3acf9e1 100644
--- a/test/python/WMCore_t/Misc_t/Runtime_t.py
+++ b/test/python/WMCore_t/Misc_t/Runtime_t.py
@@ -63,7 +63,6 @@ def miniStartup(thisDir=os.getcwd()):
Or run this in subprocess
"""
-
Bootstrap.setupLogging(thisDir)
job = Bootstrap.loadJobDefinition()
task = Bootstrap.loadTask(job)
@@ -151,6 +150,7 @@ def setupTestWorkload(self, workloadName='Test', emulator=True):
if not os.path.exists(siteConfigPath):
os.makedirs(siteConfigPath)
shutil.copy(os.path.join(self.thisDirPath, 'site-local-config.xml'), siteConfigPath)
+ shutil.copy(os.path.join(self.thisDirPath, 'storage.json'), os.path.join(siteConfigPath,'..'))
environment = rereco.data.section_('environment')
environment.CMS_PATH = workloadDir
environment.SITECONFIG_PATH = os.path.join(workloadDir, 'SITECONF/local')
@@ -304,7 +304,7 @@ def runJobs(self, workload):
for primeTask in workload.taskIterator():
listOfTasks.append(primeTask)
# Only run primeTasks for now
-
+
for task in listOfTasks:
jobName = task.name()
taskDir = os.path.join(self.unpackDir, jobName, 'job')
@@ -314,8 +314,9 @@ def runJobs(self, workload):
# Scream, run around in panic, blow up machine
print("About to run jobs")
print(taskDir)
+ #SITECONFIG_PATH is not available here so set it up so that site config can be loaded in Bootstrap.createInitialReport inside miniStartup
+ os.environ['SITECONFIG_PATH'] = os.path.realpath(os.path.join(taskDir,'../../../basicWorkload/SITECONF/local'))
miniStartup(thisDir=taskDir)
-
# When exiting, go back to where you started
os.chdir(self.initialDir)
sys.path.remove(taskDir)
@@ -409,7 +410,7 @@ def testB_EmulatorTest(self):
self.createWMBSComponents(workload=workload)
self.unpackComponents(workload=workload)
-
+
self.runJobs(workload=workload)
# Check the report
@@ -419,8 +420,8 @@ def testB_EmulatorTest(self):
cmsReport = report.data.cmsRun1
# Now validate the report
- self.assertEqual(report.getSiteName(), {})
- # self.assertEqual(report.data.hostName, socket.gethostname())
+ self.assertEqual(report.getSiteName(), 'T1_US_FNAL')
+ #self.assertEqual(report.data.hostName, socket.gethostname())
self.assertTrue(report.data.completed)
# Should have status 0 (emulator job)
diff --git a/test/python/WMCore_t/Misc_t/site-local-config.xml b/test/python/WMCore_t/Misc_t/site-local-config.xml
index 98973ac93b..e04c594f52 100644
--- a/test/python/WMCore_t/Misc_t/site-local-config.xml
+++ b/test/python/WMCore_t/Misc_t/site-local-config.xml
@@ -8,6 +8,11 @@
+
+
+
+
+
diff --git a/test/python/WMCore_t/Misc_t/storage.json b/test/python/WMCore_t/Misc_t/storage.json
new file mode 100644
index 0000000000..0682891859
--- /dev/null
+++ b/test/python/WMCore_t/Misc_t/storage.json
@@ -0,0 +1,74 @@
+[
+ { "site": "T1_US_FNAL",
+ "volume": "FNAL_dCache_EOS",
+ "protocols": [
+ { "protocol": "xrootd",
+ "access": "global-ro",
+ "comment": "xrootd read via site redirector",
+ "prefix": "root://cmsxrootd-site.fnal.gov/"
+ },
+ { "protocol": "XRootD",
+ "access": "global-rw",
+ "comment": "xrootd write to dCache/EOS endpoint directly",
+ "rules": [
+ { "lfn": "/+store/temp/user/(.*)",
+ "pfn": "root://cmseos.fnal.gov//eos/uscms/store/temp/user/$1"
+ },
+ { "lfn": "/+store/(.*)",
+ "pfn": "root://cmsdcadisk.fnal.gov//dcache/uscmsdisk/store/$1"
+ }
+ ]
+ },
+ { "protocol": "SRMv2",
+ "access": "global-rw",
+ "rules": [
+ { "lfn": "/+store/temp/user/(.*)",
+ "pfn": "gsiftp://cmseos-gridftp.fnal.gov//eos/uscms/store/temp/user/$1"
+ },
+ { "lfn": "/+store/(.*)",
+ "pfn": "srm://cmsdcadisk.fnal.gov:8443/srm/managerv2?SFN=/dcache/uscmsdisk/store/$1"
+ }
+ ]
+ },
+ { "protocol": "WebDAV",
+ "comment": "Ignoring CRAB stageout to EOS -- all disk dCache",
+ "access": "global-rw",
+ "prefix": "davs://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk"
+ }
+ ],
+ "type": "DISK",
+ "rse": "T1_US_FNAL_Disk",
+ "fts": [ "https://cmsfts3.fnal.gov:8446", "https://fts3-cms.cern.ch:8446" ],
+ "loadtest": true
+ },
+
+ { "site": "T1_US_FNAL",
+ "volume": "FNAL_MSS",
+ "protocols": [
+ { "protocol": "SRMv2",
+ "access": "global-rw",
+ "prefix": "srm://cmsdcatape.fnal.gov:8443/srm/managerv2?SFN=/11"
+ },
+ { "protocol": "WebDAV",
+ "access": "global-rw",
+ "prefix": "davs://cmsdcatape.fnal.gov:2880/WAX/11"
+ }
+ ],
+ "type": "TAPE",
+ "rse": "T1_US_FNAL_Tape",
+ "fts": [ "https://cmsfts3.fnal.gov:8446", "https://fts3-cms.cern.ch:8446" ]
+ },
+
+ { "site": "T1_US_FNAL",
+ "volume": "American_Federation",
+ "protocols": [
+ { "protocol": "XRootD",
+ "access": "global-ro",
+ "prefix": "root://cmsxrootd.fnal.gov/"
+ }
+ ],
+ "type": "DISK",
+ "rse": null,
+ "fts": []
+ }
+]
diff --git a/test/python/WMCore_t/Storage_t/StageOutMgr_t.py b/test/python/WMCore_t/Storage_t/StageOutMgr_t.py
index c6cc9ce90b..8e5802947e 100644
--- a/test/python/WMCore_t/Storage_t/StageOutMgr_t.py
+++ b/test/python/WMCore_t/Storage_t/StageOutMgr_t.py
@@ -23,6 +23,10 @@ def setUp(self):
os.putenv('SITECONFIG_PATH', os.getcwd())
def testStageOutMgr(self):
+ configFileName = os.path.join(getTestBase(),
+ "WMCore_t/Storage_t/T1_DE_KIT/JobConfig",
+ "site-local-config.xml")
+ os.environ["WMAGENT_SITE_CONFIG_OVERRIDE"] = configFileName
os.environ['SITECONFIG_PATH'] = os.path.join(getTestBase(),
"WMCore_t/Storage_t",
"T1_DE_KIT")
@@ -61,6 +65,10 @@ def testStageOutMgr(self):
stageOutMgr.cleanSuccessfulStageOuts()
#test subsite
+ configFileName = os.path.join(getTestBase(),
+ "WMCore_t/Storage_t/T1_DE_KIT/KIT-T3/JobConfig",
+ "site-local-config.xml")
+ os.environ["WMAGENT_SITE_CONFIG_OVERRIDE"] = configFileName
os.environ['SITECONFIG_PATH'] = os.path.join(getTestBase(),
"WMCore_t/Storage_t",
"T1_DE_KIT/KIT-T3")
diff --git a/test/python/WMCore_t/Storage_t/T2_DE_DESY/storage.json b/test/python/WMCore_t/Storage_t/T2_DE_DESY/storage.json
new file mode 100644
index 0000000000..7b0e552adf
--- /dev/null
+++ b/test/python/WMCore_t/Storage_t/T2_DE_DESY/storage.json
@@ -0,0 +1,79 @@
+[
+ { "site": "T2_DE_DESY",
+ "volume": "DESY_dCache",
+ "protocols": [
+ { "protocol": "pnfs",
+ "access": "virtual",
+ "rules": [
+ { "lfn": "/+store/unmerged/(.*)",
+ "pfn": "/pnfs/desy.de/cms/tier2/unmerged/$1"
+ },
+ { "lfn": "/+store/temp/(.*)",
+ "pfn": "/pnfs/desy.de/cms/tier2/temp/$1"
+ },
+ { "lfn": "/+(.*)",
+ "pfn": "/pnfs/desy.de/cms/tier2/$1"
+ }
+ ]
+ },
+ { "protocol": "gsidcap",
+ "access": "site-ro",
+ "rules": [
+ { "lfn": "/+(.*)",
+ "pfn": "gsidcap://dcache-cms-gsidcap.desy.de:22128/$1",
+ "chain": "pnfs"
+ }
+ ]
+ },
+ { "protocol": "dcap",
+ "access": "site-ro",
+ "rules": [
+ { "lfn": "/+(.*)",
+ "pfn": "dcap://dcache-cms-dcap.desy.de/$1",
+ "chain": "pnfs"
+ }
+ ]
+ },
+ { "protocol": "SRMv2",
+ "access": "global-rw",
+ "rules": [
+ { "lfn": "/+(.*)",
+ "pfn": "srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/$1",
+ "chain": "pnfs"
+ }
+ ]
+ },
+ { "protocol": "XRootD",
+ "access": "global-rw",
+ "rules": [
+ { "lfn": "/+(.*)",
+ "pfn": "root://dcache-cms-xrootd.desy.de:1094//$1"
+ }
+ ]
+ },
+ { "protocol": "WebDAV",
+ "access": "global-rw",
+ "rules": [
+ { "lfn": "/+(.*)",
+ "pfn": "davs://dcache-cms-webdav-wan.desy.de:2880/$1",
+ "chain": "pnfs"
+ }
+ ]
+ },
+ { "protocol": "davs-lan",
+ "access": "global-rw",
+ "rules": [
+ { "lfn": "/+(.*)",
+ "pfn": "davs://dcache-cms-webdav-job.desy.de:2880/$1",
+ "chain": "pnfs"
+ }
+ ]
+ }
+ ],
+ "type": "DISK",
+ "rse": "T2_DE_DESY",
+ "fts": [ "https://fts3-cms.cern.ch:8446", "https://lcgfts3.gridpp.rl.ac.uk:8446" ],
+ "loadtest": true
+ }
+]
+