Skip to content
157 changes: 37 additions & 120 deletions .github/workflows/integration.yml

Large diffs are not rendered by default.

7 changes: 5 additions & 2 deletions Pilot/pilotCommands.py
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,8 @@ def _getBasicsCFG(self):
self.cfg.append('-S "%s"' % self.pp.setup)
if self.pp.configServer:
self.cfg.append('-C "%s"' % self.pp.configServer)
if self.pp.preferredURLPatterns:
self.cfg.append("-o /DIRAC/PreferredURLPatterns=%s" % quote(",".join(self.pp.preferredURLPatterns)))
if self.pp.releaseProject:
self.cfg.append('-e "%s"' % self.pp.releaseProject)
self.cfg.append("-o /LocalSite/ReleaseProject=%s" % self.pp.releaseProject)
Expand Down Expand Up @@ -834,7 +836,7 @@ def execute(self):
archScript = self.pp.architectureScript
if self.pp.architectureScript.split(" ")[0] == "dirac-apptainer-exec":
archScript = " ".join(self.pp.architectureScript.split(" ")[1:])

architectureCmd = "%s %s -ddd" % (archScript, " ".join(cfg))

if self.pp.architectureScript.split(" ")[0] == "dirac-apptainer-exec":
Expand Down Expand Up @@ -872,10 +874,12 @@ def execute(self):

return localArchitecture


class ConfigureArchitectureWithoutCLI(CommandBase):
"""This command determines the platform.
Separated from the ConfigureDIRAC command for easier extensibility.
"""

def getPlatformString(self):
# Modified to return our desired platform string, R. Graciani
platformTuple = (platform.system(), platform.machine())
Expand Down Expand Up @@ -903,7 +907,6 @@ def execute(self):
self.log.error("Configuration error [ERROR %s]" % str(e))
self.exitWithError(1)


cfg = ["-FDMH"] # force update, skip CA checks, skip CA download, skip VOMS
if self.pp.useServerCertificate:
cfg.append("--UseServerCertificate")
Expand Down
5 changes: 4 additions & 1 deletion Pilot/pilotTools.py
Original file line number Diff line number Diff line change
Expand Up @@ -793,7 +793,7 @@ def executeAndGetOutput(self, cmd, environDict=None):
outChunk = outChunk.decode("utf-8")
# Strip unicode replacement characters
# Ensure correct type conversion in Python 2
outChunk = str(outChunk.replace(u"\ufffd", ""))
outChunk = str(outChunk.replace("\ufffd", ""))
# Avoid potential str() issues in Py2
outChunk = unicode(outChunk) # pylint: disable=undefined-variable
else:
Expand Down Expand Up @@ -908,6 +908,7 @@ def __init__(self):
self.site = ""
self.setup = ""
self.configServer = ""
self.preferredURLPatterns = ""
self.ceName = ""
self.ceType = ""
self.queueName = ""
Expand Down Expand Up @@ -1306,6 +1307,8 @@ def __initJSON2(self):
# the generic one (a list):
self.configServer = ",".join([str(pv).strip() for pv in self.pilotJSON["ConfigurationServers"]])

self.preferredURLPatterns = self.pilotJSON.get("PreferredURLPatterns", self.preferredURLPatterns)

# version(a comma separated values in a string). We take the first one. (the default value defined in the code)
dVersion = pilotOptions.get("Version", self.releaseVersion)
if dVersion:
Expand Down
1 change: 1 addition & 0 deletions Pilot/tests/Test_simplePilotLogger.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,5 +172,6 @@ def test_executeAndGetOutput(self, popenMock, argvmock):
self.stdout_mock.truncate()
self.stderr_mock.truncate()


if __name__ == "__main__":
unittest.main()
307 changes: 155 additions & 152 deletions tests/CI/pilot_newSchema.json
Original file line number Diff line number Diff line change
@@ -1,157 +1,160 @@
{
"timestamp": "2023-02-13T14:34:26.725499",
"CEs": {
"jenkins.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST"
},
"jenkins-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL"
},
"jenkins-mp.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-MP"
},
"jenkins-mp-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL"
},
"jenkins-singularity.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST",
"LocalCEType": "Singularity",
"InstallDIRACInContainer": "True"
},
"jenkins-singularity-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL",
"LocalCEType": "Singularity"
},
"jenkins-mp-pool.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"Queue": "VAR_JENKINS_QUEUE",
"GridCEType": "TEST-MP",
"LocalCEType": "Pool"
},
"jenkins-mp-pool-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL",
"LocalCEType": "InProcess",
"VAR_JENKINS_QUEUE": {
"LocalCEType": "Pool"
}
},
"jenkins-mp-pool-sudo.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-MP",
"VAR_JENKINS_QUEUE": {
"LocalCEType": "Pool/Sudo"
}
},
"jenkins-mp-pool-sudo-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL",
"VAR_JENKINS_QUEUE": {
"LocalCEType": "Pool/Sudo"
}
},
"jenkins-mp-pool-singularity.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-MP",
"VAR_JENKINS_QUEUE": {
"LocalCEType": "Pool/Singularity"
}
},
"jenkins-mp-pool-singularity-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL",
"VAR_JENKINS_QUEUE": {
"LocalCEType": "Pool/Singularity"
}
},
"jenkins-lhcb.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "LHCb"
},
"jenkins-lhcb-d.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "LHCbD"
},
"jenkins-lhcb-dd.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "LHCbDD"
},
"timestamp": "2023-02-13T14:34:26.725499",
"CEs": {
"jenkins.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST"
},
"jenkins-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL"
},
"jenkins-mp.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-MP"
},
"jenkins-mp-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL"
},
"jenkins-singularity.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST",
"LocalCEType": "Singularity",
"InstallDIRACInContainer": "True"
},
"jenkins-singularity-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL",
"LocalCEType": "Singularity"
},
"jenkins-mp-pool.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"Queue": "VAR_JENKINS_QUEUE",
"GridCEType": "TEST-MP",
"LocalCEType": "Pool"
},
"jenkins-mp-pool-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL",
"LocalCEType": "InProcess",
"VAR_JENKINS_QUEUE": {
"LocalCEType": "Pool"
}
},
"jenkins-mp-pool-sudo.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-MP",
"VAR_JENKINS_QUEUE": {
"LocalCEType": "Pool/Sudo"
}
},
"jenkins-mp-pool-sudo-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL",
"VAR_JENKINS_QUEUE": {
"LocalCEType": "Pool/Sudo"
}
},
"jenkins-mp-pool-singularity.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-MP",
"VAR_JENKINS_QUEUE": {
"LocalCEType": "Pool/Singularity"
}
},
"jenkins-mp-pool-singularity-full.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-FULL",
"VAR_JENKINS_QUEUE": {
"LocalCEType": "Pool/Singularity"
}
},
"jenkins-lhcb.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "LHCb"
},
"jenkins-lhcb-d.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "LHCbD"
},
"jenkins-lhcb-dd.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "LHCbDD"
},
"jenkins-revised.cern.ch": {
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-REVISED-COMMANDS"
"Site": "VAR_JENKINS_SITE",
"GridCEType": "TEST-REVISED-COMMANDS"
}
},
"Defaults": {
"Pilot": {
"RemoteLogging": "False",
"Commands": {
"TEST": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
"TEST-MP": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
"TEST-FULL": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements, LaunchAgent",
"LHCb": "CheckWorkerNode, LHCbInstallDIRAC, LHCbConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
"LHCbD": "CheckWorkerNode, InstallDIRAC, LHCbConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
"LHCbDD": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
"TEST-REVISED-COMMANDS": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, CheckWNCapabilities, ConfigureSite, ConfigureArchitectureWithoutCLI, ConfigureCPURequirements"
},
"Defaults": {
"Pilot": {
"RemoteLogging": "False",
"Commands": {
"TEST": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
"TEST-MP": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
"TEST-FULL": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements, LaunchAgent",
"LHCb": "CheckWorkerNode, LHCbInstallDIRAC, LHCbConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
"LHCbD": "CheckWorkerNode, InstallDIRAC, LHCbConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
"LHCbDD": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
"TEST-REVISED-COMMANDS": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, CheckWNCapabilities, ConfigureSite, ConfigureArchitectureWithoutCLI, ConfigureCPURequirements"
}
}
},
"gridpp": {
"Pilot": {
"Version": "VAR_DIRAC_VERSION",
"Extensions": "None",
"CheckVersion": "False",
"pilotFileServer": "lbcertifdirac70.cern.ch:8443",
"pilotRepoBranch": "does_not_matter",
"pilotRepo": "https://github.com/does_not_matter/Pilot.git",
"GenericPilotGroup": "gridpp_pilot",
"GenericPilotDN": "VAR_USERDN_GRIDPP",
"RemoteLogging": "False",
"RemoteLoggerURL": "https://lbcertifdirac70.cern.ch:8443/WorkloadManagement/TornadoPilotLogging",
"UploadSE": "UKI-LT2-IC-HEP-disk",
"UploadPath": "/gridpp/pilotlogs/",
"RemoteLoggerTimerInterval": 0,
"LoggingShifterName": "GridPPLogManager",
"PilotLogLevel": "DEBUG",
"CVMFS_locations": "/cvmfs/grid.cern.ch, /cvmfs/dirac.egi.eu"
}
},
"dteam": {
"Pilot": {
"Version": "VAR_DIRAC_VERSION",
"CheckVersion": "False",
"pilotFileServer": "lbcertifdirac70.cern.ch:8443",
"pilotRepoBranch": "should_not_matter",
"pilotRepo": "https://github.com/should_not_matter/Pilot.git",
"GenericPilotGroup": "dteam_pilot",
"GenericPilotDN": "VAR_USERDN",
"RemoteLogging": "True",
"RemoteLoggerCEsWhiteList": "jenkins.cern.ch, jenkins-mp-pool.cern.ch",
"RemoteLoggerURL": "https://lbcertifdirac70.cern.ch:8443/WorkloadManagement/TornadoPilotLogging",
"RemoteLoggerTimerInterval": 0,
"PilotLogLevel": "DEBUG",
"CVMFS_locations": "/cvmfs/grid.cern.ch, /cvmfs/dirac.egi.eu"
}
},
"LHCb": {
"Pilot": {
"Version": "VAR_DIRAC_VERSION",
"CheckVersion": "False",
"pilotFileServer": "lbcertifdirac70.cern.ch:8443",
"GenericPilotGroup": "dteam_pilot",
"GenericPilotDN": "VAR_USERDN",
"RemoteLogging": "False",
"RemoteLoggerTimerInterval": 0,
"PilotLogLevel": "DEBUG",
"CVMFS_locations": "/cvmfs/lhcb.cern.ch/, $VO_LHCB_SW_DIR"
}
},
"ConfigurationServers": [
"VAR_CS"
]
}
},
"gridpp": {
"Pilot": {
"Version": "VAR_DIRAC_VERSION",
"Extensions": "None",
"CheckVersion": "False",
"pilotFileServer": "lbcertifdirac70.cern.ch:8443",
"pilotRepoBranch": "does_not_matter",
"pilotRepo": "https://github.com/does_not_matter/Pilot.git",
"GenericPilotGroup": "gridpp_pilot",
"GenericPilotDN": "VAR_USERDN_GRIDPP",
"RemoteLogging": "False",
"RemoteLoggerURL": "https://lbcertifdirac70.cern.ch:8443/WorkloadManagement/TornadoPilotLogging",
"UploadSE": "UKI-LT2-IC-HEP-disk",
"UploadPath": "/gridpp/pilotlogs/",
"RemoteLoggerTimerInterval": 0,
"LoggingShifterName": "GridPPLogManager",
"PilotLogLevel": "DEBUG",
"CVMFS_locations": "/cvmfs/grid.cern.ch, /cvmfs/dirac.egi.eu"
}
},
"dteam": {
"Pilot": {
"Version": "VAR_DIRAC_VERSION",
"CheckVersion": "False",
"pilotFileServer": "lbcertifdirac70.cern.ch:8443",
"pilotRepoBranch": "should_not_matter",
"pilotRepo": "https://github.com/should_not_matter/Pilot.git",
"GenericPilotGroup": "dteam_pilot",
"GenericPilotDN": "VAR_USERDN",
"RemoteLogging": "True",
"RemoteLoggerCEsWhiteList": "jenkins.cern.ch, jenkins-mp-pool.cern.ch",
"RemoteLoggerURL": "https://lbcertifdirac70.cern.ch:8443/WorkloadManagement/TornadoPilotLogging",
"RemoteLoggerTimerInterval": 0,
"PilotLogLevel": "DEBUG",
"CVMFS_locations": "/cvmfs/grid.cern.ch, /cvmfs/dirac.egi.eu"
}
},
"LHCb": {
"Pilot": {
"Version": "VAR_DIRAC_VERSION",
"CheckVersion": "False",
"pilotFileServer": "lbcertifdirac70.cern.ch:8443",
"GenericPilotGroup": "dteam_pilot",
"GenericPilotDN": "VAR_USERDN",
"RemoteLogging": "False",
"RemoteLoggerTimerInterval": 0,
"PilotLogLevel": "DEBUG",
"CVMFS_locations": "/cvmfs/lhcb.cern.ch/, $VO_LHCB_SW_DIR"
}
},
"ConfigurationServers": [
"VAR_CS"
],
"PreferredURLPatterns": [
"VAR_PREF_URL_PATTERN"
]
}
4 changes: 2 additions & 2 deletions tests/CI/pilot_oldSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@
]
},
"Logging": {
"LoggingType":"LOCAL_FILE",
"LocalOutputFile":"myFile"
"LoggingType": "LOCAL_FILE",
"LocalOutputFile": "myFile"
},
"NagiosProbes": "WN-mjf, WN-sft-csh, WN-sft-voms, WN-sft-vo-swdir",
"Version": "VAR_DIRAC_VERSION",
Expand Down
Loading