Skip to content

Commit 93e42b2

Browse files
authored
Merge pull request #242 from fstagni/architecture_parameter
feat: added parameter for specifying the dirac-architecture script to…
2 parents 9bf5041 + 133d9e1 commit 93e42b2

6 files changed

Lines changed: 31 additions & 21 deletions

File tree

.github/workflows/basic.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on: [push, pull_request]
55
jobs:
66

77
shellcheck:
8-
runs-on: ubuntu-20.04
8+
runs-on: ubuntu-24.04
99
if: github.event_name != 'push' || github.repository == 'DIRACGrid/DIRAC'
1010
timeout-minutes: 10
1111

@@ -16,7 +16,7 @@ jobs:
1616
find tests/CI -name '*.sh' -print0 | xargs -0 -n1 shellcheck --external-sources;
1717
1818
pycodestyle:
19-
runs-on: ubuntu-20.04
19+
runs-on: ubuntu-24.04
2020
if: github.event_name != 'push' || github.repository == 'DIRACGrid/Pilot'
2121
timeout-minutes: 10
2222

@@ -46,7 +46,7 @@ jobs:
4646

4747

4848
pytest:
49-
runs-on: ubuntu-20.04
49+
runs-on: ubuntu-24.04
5050
if: github.event_name != 'push' || github.repository == 'DIRACGrid/Pilot'
5151
timeout-minutes: 10
5252

@@ -70,7 +70,7 @@ jobs:
7070

7171

7272
pylint:
73-
runs-on: ubuntu-20.04
73+
runs-on: ubuntu-24.04
7474
if: github.event_name != 'push' || github.repository == 'DIRACGrid/Pilot'
7575
timeout-minutes: 10
7676

.github/workflows/integration.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: integration
33
on: [push]
44

55
jobs:
6-
integration-local_install:
6+
local_install:
77
runs-on: ubuntu-latest
88

99
strategy:
@@ -51,9 +51,9 @@ jobs:
5151
pilotUUID="${g_job//_/}""$(shuf -i 2000-65000 -n 1)"
5252
pilotUUID=$(echo $pilotUUID | rev | cut -c 1-32 | rev)
5353
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
54+
5455
55-
56-
integration-cvmfs:
56+
release_prod_pre-cvmfs:
5757
runs-on: ubuntu-latest
5858

5959
strategy:
@@ -107,10 +107,10 @@ jobs:
107107
g_job="testintegrationworkflow${GITHUB_JOB//-/}"
108108
pilotUUID="${g_job//_/}""$(shuf -i 2000-65000 -n 1)"
109109
pilotUUID=$(echo $pilotUUID | rev | cut -c 1-32 | rev)
110-
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
110+
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
111111
112112
113-
integration-cvmfs_no_env_CEs:
113+
release_prod-cvmfs_no_env_CEs:
114114
runs-on: ubuntu-latest
115115

116116
strategy:
@@ -202,7 +202,7 @@ jobs:
202202
python dirac-pilot.py --modules https://github.com/DIRACGrid/DIRAC.git:::DIRAC:::integration -M 1 -S DIRAC-Certification -N jenkins-full.cern.ch -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch --wnVO=dteam --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --pilotUUID="${pilotUUID}" --debug
203203
204204
205-
integration-cvmfs_matching:
205+
release_prod_pre-cvmfs_matching:
206206
runs-on: ubuntu-latest
207207

208208
strategy:
@@ -255,7 +255,7 @@ jobs:
255255
python dirac-pilot.py -M 1 -S DIRAC-Certification -N jenkins-full.cern.ch -Q jenkins-queue_not_important -n DIRAC.Jenkins.ch --preinstalledEnvPrefix=/cvmfs/dirac.egi.eu/dirac --cert --certLocation=${GITHUB_WORKSPACE}/Pilot/etc/grid-security --wnVO=${{ matrix.VO }} -o cvmfsOnly --pilotUUID="${pilotUUID}" --debug
256256
257257
258-
integration-cvmfs_matching_CEs:
258+
release_prod-cvmfs_matching_CEs:
259259
runs-on: ubuntu-latest
260260

261261
strategy:
@@ -362,7 +362,7 @@ jobs:
362362
g_job="testintegrationworkflow${GITHUB_JOB//-/}"
363363
pilotUUID="${g_job//_/}""$(shuf -i 2000-65000 -n 1)"
364364
pilotUUID=$(echo $pilotUUID | rev | cut -c 1-32 | rev)
365-
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
365+
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
366366
367367
ext-lhcb_integration_dirac_installer_no_env:
368368
runs-on: ubuntu-latest

Pilot/pilotCommands.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -827,11 +827,18 @@ def execute(self):
827827
if self.pp.localConfigFile:
828828
cfg.extend(["--cfg", self.pp.localConfigFile]) # this file is as input
829829

830-
architectureCmd = "%s %s -d" % (self.pp.architectureScript, " ".join(cfg))
830+
archScript = self.pp.architectureScript
831+
if self.pp.architectureScript.split(" ")[0] == "dirac-apptainer-exec":
832+
archScript = self.pp.architectureScript.split(" ")[1]
833+
834+
architectureCmd = "%s %s -ddd" % (archScript, " ".join(cfg))
835+
836+
if self.pp.architectureScript.startswith("dirac-apptainer-exec"):
837+
architectureCmd = "dirac-apptainer-exec '%s' %s" % (architectureCmd, " ".join(cfg))
831838

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

Pilot/pilotTools.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -986,6 +986,7 @@ def __init__(self):
986986
("", "pilotUUID=", "pilot UUID"),
987987
("", "preinstalledEnv=", "preinstalled pilot environment script location"),
988988
("", "preinstalledEnvPrefix=", "preinstalled pilot environment area prefix"),
989+
("", "architectureScript=", "architecture script to use"),
989990
("", "CVMFS_locations=", "comma-separated list of CVMS locations"),
990991
)
991992

@@ -1029,7 +1030,7 @@ def __checkSecurityDir(self, envName, dirName):
10291030
self.installEnv[envName] = candidateDir
10301031
os.environ[envName] = candidateDir
10311032
return
1032-
self.log.debug("%s not found or not a directory" % candidateDir)
1033+
self.log.debug("%s empty, or not found, or not a directory" % candidateDir)
10331034

10341035
if envName in os.environ and safe_listdir(os.environ[envName]):
10351036
self.log.debug(
@@ -1160,6 +1161,8 @@ def __initCommandLine2(self):
11601161
self.preinstalledEnv = v
11611162
elif o == "--preinstalledEnvPrefix":
11621163
self.preinstalledEnvPrefix = v
1164+
elif o == "--architectureScript":
1165+
self.architectureScript = v
11631166
elif o == "--CVMFS_locations":
11641167
self.CVMFS_locations = v.split(",")
11651168

tests/CI/pilot_newSchema.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@
9090
"TEST": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
9191
"TEST-MP": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements",
9292
"TEST-FULL": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, CheckWNCapabilities, ConfigureSite, ConfigureArchitecture, ConfigureCPURequirements, LaunchAgent",
93-
"LHCb": "CheckWorkerNode, LHCbInstallDIRAC, LHCbConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, LHCbConfigureSite, LHCbConfigureArchitecture, LHCbConfigureCPURequirements",
94-
"LHCbD": "CheckWorkerNode, InstallDIRAC, LHCbConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, LHCbConfigureSite, LHCbConfigureArchitecture, LHCbConfigureCPURequirements",
93+
"LHCb": "CheckWorkerNode, LHCbInstallDIRAC, LHCbConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, LHCbConfigureArchitecture, ConfigureCPURequirements",
94+
"LHCbD": "CheckWorkerNode, InstallDIRAC, LHCbConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, LHCbConfigureArchitecture, ConfigureCPURequirements",
9595
"LHCbDD": "CheckWorkerNode, InstallDIRAC, ConfigureBasics, RegisterPilot, CheckCECapabilities, LHCbAddCVMFSTags, CheckWNCapabilities, ConfigureSite, LHCbConfigureArchitecture, ConfigureCPURequirements"
9696
}
9797
}

tests/CI/pilot_oldSchema.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@
4545
"CheckCECapabilities",
4646
"LHCbAddCVMFSTags",
4747
"CheckWNCapabilities",
48-
"LHCbConfigureSite",
48+
"ConfigureSite",
4949
"LHCbConfigureArchitecture",
50-
"LHCbConfigureCPURequirements"
50+
"ConfigureCPURequirements"
5151
],
5252
"LHCbD": [
5353
"CheckWorkerNode",
@@ -57,9 +57,9 @@
5757
"CheckCECapabilities",
5858
"LHCbAddCVMFSTags",
5959
"CheckWNCapabilities",
60-
"LHCbConfigureSite",
60+
"ConfigureSite",
6161
"LHCbConfigureArchitecture",
62-
"LHCbConfigureCPURequirements"
62+
"ConfigureCPURequirements"
6363
],
6464
"LHCbDD": [
6565
"CheckWorkerNode",

0 commit comments

Comments
 (0)