Skip to content

Commit dadfd14

Browse files
author
Andrei Tsaregorodtsev
authored
Merge pull request #5827 from fstagni/v7r2-backportMatcher
[v7r2] fix: (backport) fix Matcher understanding of tags
2 parents c3e8691 + 0a63196 commit dadfd14

File tree

1 file changed

+12
-2
lines changed
  • src/DIRAC/WorkloadManagementSystem/Client

1 file changed

+12
-2
lines changed

src/DIRAC/WorkloadManagementSystem/Client/Matcher.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,17 @@ def _processResourceDescription(self, resourceDescription):
187187
resourceDict[name] = resourceDescription[name]
188188

189189
if resourceDescription.get("Tag"):
190-
resourceDict["Tag"] = resourceDescription["Tag"]
190+
tags = resourceDescription["Tag"]
191+
resourceDict["Tag"] = (
192+
tags if isinstance(tags, list) else list({tag.strip("\"'") for tag in tags.strip("[]").split(",")})
193+
)
191194
if "RequiredTag" in resourceDescription:
192-
resourceDict["RequiredTag"] = resourceDescription["RequiredTag"]
195+
requiredTagsList = (
196+
resourceDescription["RequiredTag"].split(",")
197+
if isinstance(resourceDescription["RequiredTag"], str)
198+
else resourceDescription["RequiredTag"]
199+
)
200+
resourceDict["RequiredTag"] = requiredTagsList
193201

194202
if "JobID" in resourceDescription:
195203
resourceDict["JobID"] = resourceDescription["JobID"]
@@ -224,6 +232,8 @@ def _processResourceDescription(self, resourceDescription):
224232

225233
if "Tag" in resourceDict:
226234
resourceDict["Tag"] = list(set(resourceDict["Tag"]))
235+
if "RequiredTag" in resourceDict:
236+
resourceDict["RequiredTag"] = list(set(resourceDict["RequiredTag"]))
227237

228238
for k in (
229239
"DIRACVersion",

0 commit comments

Comments
 (0)