From e3856a842864478368013a887ed7fc8f1fd54db0 Mon Sep 17 00:00:00 2001 From: jeyserma Date: Fri, 7 Jun 2024 17:24:48 +0200 Subject: [PATCH] Changes to override Rucio storage.json (#4956) --- etc/HIProdOfflineConfiguration.py | 3 ++- etc/HIReplayOfflineConfiguration.py | 3 ++- etc/ProdOfflineConfiguration.py | 3 ++- etc/ReplayOfflineConfiguration.py | 3 ++- src/python/T0/RunConfig/RunConfigAPI.py | 1 + src/python/T0/RunConfig/Tier0Config.py | 17 +++++++++++++++++ 6 files changed, 26 insertions(+), 4 deletions(-) diff --git a/etc/HIProdOfflineConfiguration.py b/etc/HIProdOfflineConfiguration.py index a2a70afe8..13093bce3 100644 --- a/etc/HIProdOfflineConfiguration.py +++ b/etc/HIProdOfflineConfiguration.py @@ -45,7 +45,8 @@ addSiteConfig(tier0Config, "T0_CH_CERN_Disk", siteLocalConfig="/cvmfs/cms.cern.ch/SITECONF/T0_CH_CERN/JobConfig/site-local-config.xml", - overrideCatalog="T2_CH_CERN,,T0_CH_CERN,CERN_EOS_T0,XRootD" + overrideCatalog="T2_CH_CERN,,T0_CH_CERN,CERN_EOS_T0,XRootD", + siteLocalRucioConfig="/cvmfs/cms.cern.ch/SITECONF/T0_CH_CERN/storage.json", ) # Set global parameters: # Acquisition era diff --git a/etc/HIReplayOfflineConfiguration.py b/etc/HIReplayOfflineConfiguration.py index 455fe7b54..ea9df7db2 100644 --- a/etc/HIReplayOfflineConfiguration.py +++ b/etc/HIReplayOfflineConfiguration.py @@ -48,7 +48,8 @@ addSiteConfig(tier0Config, "T0_CH_CERN_Disk", siteLocalConfig="/cvmfs/cms.cern.ch/SITECONF/T0_CH_CERN/JobConfig/site-local-config.xml", - overrideCatalog="T2_CH_CERN,,T0_CH_CERN,CERN_EOS_T0,XRootD" + overrideCatalog="T2_CH_CERN,,T0_CH_CERN,CERN_EOS_T0,XRootD", + siteLocalRucioConfig="/cvmfs/cms.cern.ch/SITECONF/T0_CH_CERN/storage.json", ) addSiteConfig(tier0Config, "EOS_PILOT", diff --git a/etc/ProdOfflineConfiguration.py b/etc/ProdOfflineConfiguration.py index b0287af28..56f3ed55a 100644 --- a/etc/ProdOfflineConfiguration.py +++ b/etc/ProdOfflineConfiguration.py @@ -49,7 +49,8 @@ addSiteConfig(tier0Config, "T0_CH_CERN_Disk", siteLocalConfig="/cvmfs/cms.cern.ch/SITECONF/T0_CH_CERN/JobConfig/site-local-config.xml", - overrideCatalog="T2_CH_CERN,,T0_CH_CERN,CERN_EOS_T0,XRootD" + overrideCatalog="T2_CH_CERN,,T0_CH_CERN,CERN_EOS_T0,XRootD", + siteLocalRucioConfig="/cvmfs/cms.cern.ch/SITECONF/T0_CH_CERN/storage.json", ) # Set global parameters: diff --git a/etc/ReplayOfflineConfiguration.py b/etc/ReplayOfflineConfiguration.py index 0512be7ee..b6e767f47 100644 --- a/etc/ReplayOfflineConfiguration.py +++ b/etc/ReplayOfflineConfiguration.py @@ -52,7 +52,8 @@ addSiteConfig(tier0Config, "T0_CH_CERN_Disk", siteLocalConfig="/cvmfs/cms.cern.ch/SITECONF/T0_CH_CERN/JobConfig/site-local-config.xml", - overrideCatalog="T2_CH_CERN,,T0_CH_CERN,CERN_EOS_T0,XRootD" + overrideCatalog="T2_CH_CERN,,T0_CH_CERN,CERN_EOS_T0,XRootD", + siteLocalRucioConfig="/cvmfs/cms.cern.ch/SITECONF/T0_CH_CERN/storage.json", ) addSiteConfig(tier0Config, "EOS_PILOT", diff --git a/src/python/T0/RunConfig/RunConfigAPI.py b/src/python/T0/RunConfig/RunConfigAPI.py index 55ef4516b..6fe93a14c 100644 --- a/src/python/T0/RunConfig/RunConfigAPI.py +++ b/src/python/T0/RunConfig/RunConfigAPI.py @@ -1136,6 +1136,7 @@ def setStorageSite(tier0Config, wmSpec, storagesite): """ site = retrieveSiteConfig(tier0Config, storagesite) wmSpec.setTaskEnvironmentVariables({'WMAGENT_SITE_CONFIG_OVERRIDE':site.SiteLocalConfig}) + wmSpec.setTaskEnvironmentVariables({'WMAGENT_RUCIO_CATALOG_OVERRIDE':site.SiteLocalRucioConfig}) setWMSpecOverrideCatalog(wmSpec, site) for task in wmSpec.getAllTasks(): for stepName in task.listAllStepNames(): diff --git a/src/python/T0/RunConfig/Tier0Config.py b/src/python/T0/RunConfig/Tier0Config.py index 70aaad783..0e9bafe45 100644 --- a/src/python/T0/RunConfig/Tier0Config.py +++ b/src/python/T0/RunConfig/Tier0Config.py @@ -15,6 +15,7 @@ | | | | SITE,SUBSITE,STORAGE_SITE,VOLUME,PROTOCOL | | | | | | | |--> SiteLocalConfig - Path to this site's site local config file +| | | |--> SiteLocalRucioConfig - Path to this site's local Rucio storage json file | | | | | |--> Global - Configuration parameters that do not belong to a particular | | | stream or dataset and can be applied to an entire run. @@ -750,6 +751,16 @@ def setSiteLocalConfig(config, siteLocalConfig): config.Global.siteLocalConfig = siteLocalConfig return +def setSiteLocalRucioConfig(config, siteLocalRucioConfig): + """ + _setSiteLocalRucioConfig_ + + Set the site local Rucio config file to use in case override is necessary. + """ + config.Global.siteLocalRucioConfig = siteLocalRucioConfig + return + + def setBulkDataType(config, type): """ _setBulkDataType_ @@ -1081,6 +1092,12 @@ def addSiteConfig(config, siteName, **options): else: siteConfig.SiteLocalConfig = options.get("siteLocalConfig", "/cvmfs/cms.cern.ch/SITECONF/local/JobConfig/site-local-config.xml") + if hasattr(siteConfig, "SiteLocalRucioConfig"): + siteConfig.SiteLocalRucioConfig = options.get("siteLocalRucioConfig", siteConfig.SiteLocalRucioConfig) + else: + siteConfig.SiteLocalRucioConfig = options.get("siteLocalRucioConfig", "/cvmfs/cms.cern.ch/SITECONF/local/storage.json") + + return def addRegistrationConfig(config, streamName, **options):