Skip to content

Commit

Permalink
feat: added parameter for specifying the dirac-architecture script to…
Browse files Browse the repository at this point in the history
… use
  • Loading branch information
fstagni committed Feb 26, 2025
1 parent aa95e04 commit 035de22
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 17 deletions.
11 changes: 6 additions & 5 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ jobs:
dirac_branch:
- rel-v8r0
- integration

pilot_schema:
- pilot_oldSchema.json
- pilot_newSchema.json
Expand Down Expand Up @@ -50,7 +51,7 @@ jobs:
g_job="testintegrationworkflow${GITHUB_JOB//-/}"
pilotUUID="${g_job//_/}""$(shuf -i 2000-65000 -n 1)"
pilotUUID=$(echo $pilotUUID | rev | cut -c 1-32 | rev)
python dirac-pilot.py --modules https://github.com/DIRACGrid/DIRAC.git:::DIRAC:::${{ matrix.dirac_branch }} -M 1 -S DIRAC-Certification -N jenkins.cern.ch -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --wnVO=${{ matrix.VO }} --pilotUUID="${pilotUUID}" --debug
python dirac-pilot.py --modules https://github.com/DIRACGrid/DIRAC.git:::DIRAC:::${{ matrix.dirac_branch }} -M 1 -S DIRAC-Certification -N jenkins.cern.ch -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch --architectureScript="dirac-apptainer-exec dirac-platform" --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --wnVO=${{ matrix.VO }} --pilotUUID="${pilotUUID}" --debug
integration-cvmfs:
Expand Down Expand Up @@ -107,7 +108,7 @@ jobs:
g_job="testintegrationworkflow${GITHUB_JOB//-/}"
pilotUUID="${g_job//_/}""$(shuf -i 2000-65000 -n 1)"
pilotUUID=$(echo $pilotUUID | rev | cut -c 1-32 | rev)
python dirac-pilot.py -M 1 -S DIRAC-Certification -N jenkins.cern.ch -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch --preinstalledEnvPrefix=/cvmfs/dirac.egi.eu/dirac --wnVO=dteam --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --pilotUUID="${pilotUUID}" --debug
python dirac-pilot.py -M 1 -S DIRAC-Certification -N jenkins.cern.ch -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch --architectureScript=dirac-platform --preinstalledEnvPrefix=/cvmfs/dirac.egi.eu/dirac --wnVO=dteam --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --pilotUUID="${pilotUUID}" --debug
integration-cvmfs_no_env_CEs:
Expand Down Expand Up @@ -155,7 +156,7 @@ jobs:
g_job="testintegrationworkflow${GITHUB_JOB//-/}"
pilotUUID="${g_job//_/}""$(shuf -i 2000-65000 -n 1)"
pilotUUID=$(echo $pilotUUID | rev | cut -c 1-32 | rev)
python dirac-pilot.py -M 1 -S DIRAC-Certification -N ${{ matrix.ce }} -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch --preinstalledEnvPrefix=/cvmfs/dirac.egi.eu/dirac --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --wnVO=dteam -o cvmfsOnly --pilotUUID="${pilotUUID}" --debug
python dirac-pilot.py -M 1 -S DIRAC-Certification -N ${{ matrix.ce }} -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch --preinstalledEnvPrefix=/cvmfs/dirac.egi.eu/dirac --architectureScript="dirac-apptainer-exec dirac-platform" --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --wnVO=dteam -o cvmfsOnly --pilotUUID="${pilotUUID}" --debug
matching:
Expand Down Expand Up @@ -362,7 +363,7 @@ jobs:
g_job="testintegrationworkflow${GITHUB_JOB//-/}"
pilotUUID="${g_job//_/}""$(shuf -i 2000-65000 -n 1)"
pilotUUID=$(echo $pilotUUID | rev | cut -c 1-32 | rev)
python dirac-pilot.py -M 1 -S DIRAC-Certification -N jenkins-lhcb.cern.ch -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch -e LHCb -l LHCb -E LHCbPilot --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --wnVO=LHCb -o lbRunOnly --pilotUUID="${pilotUUID}" --debug
python dirac-pilot.py -M 1 -S DIRAC-Certification -N jenkins-lhcb.cern.ch -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch -e LHCb -l LHCb -E LHCbPilot --architectureScript=dirac-architecture --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --wnVO=LHCb -o lbRunOnly --pilotUUID="${pilotUUID}" --debug
ext-lhcb_integration_dirac_installer_no_env:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -458,4 +459,4 @@ jobs:
g_job="testintegrationworkflow${GITHUB_JOB//-/}"
pilotUUID="${g_job//_/}""$(shuf -i 2000-65000 -n 1)"
pilotUUID=$(echo $pilotUUID | rev | cut -c 1-32 | rev)
python dirac-pilot.py -M 1 -S DIRAC-Certification -N jenkins-lhcb.cern.ch -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch -e LHCb -l LHCb -E LHCbPilot --preinstalledEnvPrefix=/cvmfs/lhcb.cern.ch/lhcbdirac/ --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --wnVO=LHCb -o cvmfsOnly --pilotUUID="${pilotUUID}" --debug
python dirac-pilot.py -M 1 -S DIRAC-Certification -N jenkins-lhcb.cern.ch -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch -e LHCb -l LHCb -E LHCbPilot --preinstalledEnvPrefix=/cvmfs/lhcb.cern.ch/lhcbdirac/ --architectureScript="dirac-apptainer-exec dirac-architecture" --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --wnVO=LHCb -o cvmfsOnly --pilotUUID="${pilotUUID}" --debug
17 changes: 11 additions & 6 deletions Pilot/pilotCommands.py
Original file line number Diff line number Diff line change
Expand Up @@ -824,16 +824,21 @@ def execute(self):
cfg = []
if self.pp.useServerCertificate:
cfg.append("-o /DIRAC/Security/UseServerCertificate=yes")
if self.pp.localConfigFile:
cfg.extend(["--cfg", self.pp.localConfigFile]) # this file is as input

architectureCmd = "%s %s -d" % (self.pp.architectureScript, " ".join(cfg))
archScript = self.pp.architectureScript
if self.pp.architectureScript.split(" ")[0] == 'dirac-apptainer-exec':
archScript = self.pp.architectureScript.split(" ")[1]

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

if self.pp.architectureScript.split(" ")[0] == 'dirac-apptainer-exec':
architectureCmd = "dirac-apptainer-exec '%s' %s" % (architectureCmd, " ".join(cfg))

retCode, localArchitecture = self.executeAndGetOutput(architectureCmd, self.pp.installEnv)
if retCode:
self.log.error("There was an error updating the platform [ERROR %d]" % retCode)
self.log.error("There was an error getting the platform [ERROR %d]" % retCode)
self.exitWithError(retCode)
self.log.info("Architecture determined: %s" % localArchitecture.strip().split("\n")[-1])
self.log.info("Architecture determined: %s" % localArchitecture.strip())

# standard options
cfg = ["-FDMH"] # force update, skip CA checks, skip CA download, skip VOMS
Expand All @@ -846,7 +851,7 @@ def execute(self):
cfg.append("-ddd")

# real options added here
localArchitecture = localArchitecture.strip().split("\n")[-1].strip()
localArchitecture = localArchitecture.strip()
cfg.append('-S "%s"' % self.pp.setup)
cfg.append("-o /LocalSite/Architecture=%s" % localArchitecture)

Expand Down
3 changes: 3 additions & 0 deletions Pilot/pilotTools.py
Original file line number Diff line number Diff line change
Expand Up @@ -986,6 +986,7 @@ def __init__(self):
("", "pilotUUID=", "pilot UUID"),
("", "preinstalledEnv=", "preinstalled pilot environment script location"),
("", "preinstalledEnvPrefix=", "preinstalled pilot environment area prefix"),
("", "architectureScript=", "architecture script to use"),
("", "CVMFS_locations=", "comma-separated list of CVMS locations"),
)

Expand Down Expand Up @@ -1160,6 +1161,8 @@ def __initCommandLine2(self):
self.preinstalledEnv = v
elif o == "--preinstalledEnvPrefix":
self.preinstalledEnvPrefix = v
elif o == "--architectureScript":
self.architectureScript = v
elif o == "--CVMFS_locations":
self.CVMFS_locations = v.split(",")

Expand Down
4 changes: 2 additions & 2 deletions tests/CI/pilot_newSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@
"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, LHCbConfigureSite, LHCbConfigureArchitecture, LHCbConfigureCPURequirements",
"LHCbD": "CheckWorkerNode, InstallDIRAC, LHCbConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, LHCbConfigureSite, LHCbConfigureArchitecture, LHCbConfigureCPURequirements",
"LHCb": "CheckWorkerNode, LHCbInstallDIRAC, LHCbConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, LHCbConfigureArchitecture, ConfigureCPURequirements",
"LHCbD": "CheckWorkerNode, InstallDIRAC, LHCbConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, LHCbConfigureArchitecture, ConfigureCPURequirements",
"LHCbDD": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, LHCbConfigureArchitecture, ConfigureCPURequirements"
}
}
Expand Down
8 changes: 4 additions & 4 deletions tests/CI/pilot_oldSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@
"CheckCECapabilities",
"LHCbAddCVMFSTags",
"CheckWNCapabilities",
"LHCbConfigureSite",
"ConfigureSite",
"LHCbConfigureArchitecture",
"LHCbConfigureCPURequirements"
"ConfigureCPURequirements"
],
"LHCbD": [
"CheckWorkerNode",
Expand All @@ -57,9 +57,9 @@
"CheckCECapabilities",
"LHCbAddCVMFSTags",
"CheckWNCapabilities",
"LHCbConfigureSite",
"ConfigureSite",
"LHCbConfigureArchitecture",
"LHCbConfigureCPURequirements"
"ConfigureCPURequirements"
],
"LHCbDD": [
"CheckWorkerNode",
Expand Down

0 comments on commit 035de22

Please sign in to comment.