diff --git a/etc/WMAgentConfig.py b/etc/WMAgentConfig.py index a9ef638296..52d495b2c3 100644 --- a/etc/WMAgentConfig.py +++ b/etc/WMAgentConfig.py @@ -361,6 +361,7 @@ config.RucioInjector.RSEPostfix = False # enable it to append _Test to the RSE names config.RucioInjector.metaDIDProject = "Production" config.RucioInjector.containerDiskRuleParams = {"weight": "ddm_quota", "copies": 2, "grouping": "DATASET"} +config.RucioInjector.blockRuleParams = {} # this RSEExpr below might be updated by wmagent-mod-config script config.RucioInjector.containerDiskRuleRSEExpr = "(tier=2|tier=1)&cms_type=real&rse_type=DISK" config.RucioInjector.rucioAccount = "OVER_WRITE_BY_SECRETS" diff --git a/src/python/WMComponent/RucioInjector/RucioInjectorPoller.py b/src/python/WMComponent/RucioInjector/RucioInjectorPoller.py index 07dc5665a7..70e035dd6b 100644 --- a/src/python/WMComponent/RucioInjector/RucioInjectorPoller.py +++ b/src/python/WMComponent/RucioInjector/RucioInjectorPoller.py @@ -62,6 +62,7 @@ def __init__(self, config): self.lastRulesExecTime = 0 self.createBlockRules = config.RucioInjector.createBlockRules self.containerDiskRuleParams = config.RucioInjector.containerDiskRuleParams + self.blockRuleParams = config.RucioInjector.blockRuleParams self.containerDiskRuleRSEExpr = config.RucioInjector.containerDiskRuleRSEExpr if config.RucioInjector.metaDIDProject not in RUCIO_VALID_PROJECT: msg = "Component configured with an invalid 'project' DID: %s" @@ -239,6 +240,7 @@ def insertBlockRules(self): ignore_availability=True, meta=self.metaData) rseName = "%s_Test" % item['pnn'] if self.testRSEs else item['pnn'] # DATASET = replicates all files in the same block to the same RSE + kwargs.update(self.blockRuleParams) resp = self.rucio.createReplicationRule(item['blockname'], rseExpression=rseName, **kwargs) if resp: diff --git a/test/python/WMComponent_t/RucioInjector_t/RucioInjectorPoller_t.py b/test/python/WMComponent_t/RucioInjector_t/RucioInjectorPoller_t.py index a9cd7d2b89..450dc5d8c9 100644 --- a/test/python/WMComponent_t/RucioInjector_t/RucioInjectorPoller_t.py +++ b/test/python/WMComponent_t/RucioInjector_t/RucioInjectorPoller_t.py @@ -77,6 +77,7 @@ def createConfig(self): config.RucioInjector.RSEPostfix = False # enable it to append _Test to the RSE names config.RucioInjector.metaDIDProject = "Production" config.RucioInjector.containerDiskRuleParams = {"weight": "ddm_quota", "copies": 2, "grouping": "DATASET"} + config.RucioInjector.blockRuleParams = {} config.RucioInjector.containerDiskRuleRSEExpr = "(tier=2|tier=1)&cms_type=real&rse_type=DISK" config.RucioInjector.rucioAccount = "wma_test" config.RucioInjector.rucioUrl = "http://cms-rucio-int.cern.ch"