diff --git a/pilot.cfg b/pilot.cfg new file mode 100644 index 00000000..8b805d6a --- /dev/null +++ b/pilot.cfg @@ -0,0 +1,100 @@ +DIRAC +{ + Setup = LHCb-Production + Extensions = LHCb + Configuration + { + Servers = dips://lhcb-conf-dirac.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox313.cern.ch:9135/Configuration/Server + Servers += dips://voboxlhcb.in2p3.fr:9135/Configuration/Server + Servers += dips://voboxlhcb.gridka.de:9135/Configuration/Server + Servers += dips://lbvobox308.cern.ch:9135/Configuration/Server + Servers += dips://lcgvo-lhcb-1.gridpp.rl.ac.uk:9135/Configuration/Server + Servers += dips://voboxlhcb.nikhef.nl:9135/Configuration/Server + Servers += dips://ui01-lhcb.cr.cnaf.infn.it:9135/Configuration/Server + Servers += dips://lbvobox900.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox300.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox316.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox309.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox402.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox306.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox401.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox303.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox315.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox307.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox311.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox310.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox312.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox301.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox305.cern.ch:9135/Configuration/Server + Servers += dips://lbvobox304.cern.ch:9135/Configuration/Server + Servers += dips://voboxlhcb.pic.es:9135/Configuration/Server + Servers += dips://lbvobox302.cern.ch:9135/Configuration/Server + } + Security + { + UseServerCertificate = no + SkipCAChecks = yes + } +} +LocalInstallation +{ + Setup = LHCb-Production + ConfigurationServer = dips://lhcb-conf-dirac.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox313.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://voboxlhcb.in2p3.fr:9135/Configuration/Server + ConfigurationServer += dips://voboxlhcb.gridka.de:9135/Configuration/Server + ConfigurationServer += dips://lbvobox308.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lcgvo-lhcb-1.gridpp.rl.ac.uk:9135/Configuration/Server + ConfigurationServer += dips://voboxlhcb.nikhef.nl:9135/Configuration/Server + ConfigurationServer += dips://ui01-lhcb.cr.cnaf.infn.it:9135/Configuration/Server + ConfigurationServer += dips://lbvobox900.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox300.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox316.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox309.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox402.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox306.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox401.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox303.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox315.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox307.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox311.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox310.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox312.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox301.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox305.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://lbvobox304.cern.ch:9135/Configuration/Server + ConfigurationServer += dips://voboxlhcb.pic.es:9135/Configuration/Server + ConfigurationServer += dips://lbvobox302.cern.ch:9135/Configuration/Server + Extensions = LHCb + SkipCADownload = True + SkipVOMSDownload = True + SkipCAChecks = True +} +LocalSite +{ + ReleaseProject = LHCb + ReleaseVersion = 11.0.39 + SharedArea = /cvmfs/lhcb.cern.ch/lib + architecture = aarch64 + SI00 = 2185 + CEType = AREX + VO = lhcb + VO += LHCb + MaxRAM = 6000 + ContainerRoot = /cvmfs/lhcb.cern.ch/containers/os-base/alma9-devel/prod/aarch64 + maxCPUTime = 1152 + MaxWaitingJobs = 3 + MaxTotalJobs = 10 + Queue = nordugrid-Condor-condor_arm +} +Resources +{ + Computing + { + CEDefaults + { + VirtualOrganization = lhcb + } + } +} diff --git a/src/WebAppDIRAC/WebApp/handler/JobMonitorHandler.py b/src/WebAppDIRAC/WebApp/handler/JobMonitorHandler.py index fe2457ba..6a2e2413 100644 --- a/src/WebAppDIRAC/WebApp/handler/JobMonitorHandler.py +++ b/src/WebAppDIRAC/WebApp/handler/JobMonitorHandler.py @@ -4,7 +4,6 @@ from DIRAC import gConfig, gLogger from DIRAC.Core.Utilities import DictCache from DIRAC.Core.Utilities.Graphs.Palette import Palette -from DIRAC.RequestManagementSystem.Client.Request import Request from DIRAC.RequestManagementSystem.Client.ReqClient import ReqClient from DIRAC.WorkloadManagementSystem.Client.JobMonitoringClient import JobMonitoringClient from DIRAC.WorkloadManagementSystem.Client.JobManagerClient import JobManagerClient @@ -284,6 +283,7 @@ def web_jobAction(self, JobID): ids = [int(i) for i in ids] RPC = JobManagerClient() + result = None if self.get_argument("action") == "delete": result = RPC.deleteJob(ids) elif self.get_argument("action") == "kill": diff --git a/src/WebAppDIRAC/WebApp/handler/TokenManagerHandler.py b/src/WebAppDIRAC/WebApp/handler/TokenManagerHandler.py index 4d6f657b..2b742cfe 100644 --- a/src/WebAppDIRAC/WebApp/handler/TokenManagerHandler.py +++ b/src/WebAppDIRAC/WebApp/handler/TokenManagerHandler.py @@ -2,7 +2,7 @@ import datetime import jwt -from DIRAC import gConfig, gLogger +from DIRAC import gLogger from DIRAC.ConfigurationSystem.Client.Helpers.Registry import getAllUsers from DIRAC.FrameworkSystem.Client.TokenManagerClient import TokenManagerClient @@ -93,6 +93,7 @@ def web_tokenData(self, userid: str, data_kind: str) -> dict: :return: dict """ if (result := self.tm.getTokensByUserID(userid))["OK"]: + res = "" if data_kind == "getAccessToken": res = ( str(jwt.decode(result["Value"][0]["access_token"], options={"verify_signature": False})) diff --git a/src/WebAppDIRAC/WebApp/handler/TransformationMonitorHandler.py b/src/WebAppDIRAC/WebApp/handler/TransformationMonitorHandler.py index 34ae48e0..091e9888 100644 --- a/src/WebAppDIRAC/WebApp/handler/TransformationMonitorHandler.py +++ b/src/WebAppDIRAC/WebApp/handler/TransformationMonitorHandler.py @@ -213,6 +213,7 @@ def web_executeOperation(self, action, ids): def __fileRetry(self, prodid, mode): tsClient = TransformationClient() + result = None if mode == "proc": result = tsClient.getTransformationFilesCount(prodid, "ErrorCount", {"Status": "Processed"}) elif mode == "not": diff --git a/src/WebAppDIRAC/WebApp/handler/VMDiracHandler.py b/src/WebAppDIRAC/WebApp/handler/VMDiracHandler.py index 2fa487e9..86961cb5 100644 --- a/src/WebAppDIRAC/WebApp/handler/VMDiracHandler.py +++ b/src/WebAppDIRAC/WebApp/handler/VMDiracHandler.py @@ -111,7 +111,7 @@ def web_getRunningInstancesBEPHistory(self, bucketSize=900, timespan=86400): eTime = TimeUtilities.toEpoch(record[0]) if eTime < olderThan: rL = [eTime, record[1], int(record[2])] - data.append(rL) + data.append(rL) return {"success": "true", "data": data} def web_getRunningInstancesByRunningPodHistory(self, bucketSize=900, timespan=86400): @@ -124,7 +124,7 @@ def web_getRunningInstancesByRunningPodHistory(self, bucketSize=900, timespan=86 eTime = TimeUtilities.toEpoch(record[0]) if eTime < olderThan: rL = [eTime, record[1], int(record[2])] - data.append(rL) + data.append(rL) return {"success": "true", "data": data} def web_getRunningInstancesByImageHistory(self, bucketSize=900, timespan=86400): @@ -137,5 +137,5 @@ def web_getRunningInstancesByImageHistory(self, bucketSize=900, timespan=86400): eTime = TimeUtilities.toEpoch(record[0]) if eTime < olderThan: rL = [eTime, record[1], int(record[2])] - data.append(rL) + data.append(rL) return {"success": "true", "data": data}