Skip to content

Commit 3eb3e70

Browse files
authored
Merge pull request #8145 from chrisburr/fix-dirac-admin-update-pilot
[9.0] Fix dirac-admin-update-pilot
2 parents 59b344f + dae87c9 commit 3eb3e70

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/DIRAC/FrameworkSystem/scripts/dirac_admin_update_pilot.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
"""
33
Script to update pilot version in CS
44
"""
5+
from packaging.version import Version
6+
57
import DIRAC
68
from DIRAC.Core.Base.Script import Script
79

@@ -39,13 +41,14 @@ def updatePilot(version, vo):
3941
:param version: version vArBpC of pilot you want to use
4042
:param vo: Location of pilot version in CS /Operations/<vo>/Pilot/Version
4143
"""
42-
res = Operations(vo=vo).getValue("Pilot/Version", [])
43-
if not res["OK"]:
44+
pilotVersion = sorted(Operations(vo=vo).getValue("Pilot/Version", []), key=lambda x: Version(x), reverse=True)
45+
if version in pilotVersion:
46+
gLogger.warn(f"Version {version} already set in CS")
47+
elif pilotVersion:
48+
pilotVersion = [version, pilotVersion[0]]
49+
else:
4450
gLogger.warn("No pilot version set in CS")
4551
pilotVersion = [version]
46-
else:
47-
pilotVersion = [res["Value"].pop()]
48-
pilotVersion.insert(0, version)
4952
api = CSAPI()
5053
if vo:
5154
api.setOption(f"Operations/{vo}/Pilot/Version", ", ".join(pilotVersion))

0 commit comments

Comments
 (0)