diff --git a/docs/source/AdministratorGuide/Systems/WorkloadManagement/Pilots/Pilots3.rst b/docs/source/AdministratorGuide/Systems/WorkloadManagement/Pilots/Pilots3.rst index 848f9e26fa7..f6d1446e85d 100644 --- a/docs/source/AdministratorGuide/Systems/WorkloadManagement/Pilots/Pilots3.rst +++ b/docs/source/AdministratorGuide/Systems/WorkloadManagement/Pilots/Pilots3.rst @@ -50,8 +50,8 @@ Other options that can be set also in the Operations part of the CS include: | *CVMFS_locations* | CVMFS locations to use for finding pilot | CVMFS_locations = /cvmfs/lhcb.cern.ch/,/cvmfs/lhcbdev.cern.ch | | | files, DIRAC installations, CAs, CRLS | | +------------------------------------+--------------------------------------------+-------------------------------------------------------------------------+ -| *workDir* | Local directory of the master CS where the | workDir = /tmp/pilotSyncDir | -| | files will be downloaded before the upload | There is no default (so /opt/dirac/runit/Configuration/Server) | +| *ArchitectureScript* | The script to be used for | ArchitectureScript = dirac-apptainer-exec dirac-platform | +| | discovering the local architecture. | Default: dirac-platform | +------------------------------------+--------------------------------------------+-------------------------------------------------------------------------+ diff --git a/docs/source/AdministratorGuide/Systems/WorkloadManagement/Pilots/index.rst b/docs/source/AdministratorGuide/Systems/WorkloadManagement/Pilots/index.rst index 2bb127b87fb..bbc5b50154a 100644 --- a/docs/source/AdministratorGuide/Systems/WorkloadManagement/Pilots/index.rst +++ b/docs/source/AdministratorGuide/Systems/WorkloadManagement/Pilots/index.rst @@ -88,7 +88,6 @@ Inside this section, you should define the following options, and give them a me Installation = mycfg.cfg # For an optional configuration file, used by the installation script. PreInstalledEnv = /cvmfs/some/where/specific/bashrc # A specific rc file to source for setting up DIRAC PreInstalledEnvPrefix = /cvmfs/some/where/ # Location where DIRAC installations can be found. The Pilot will then try and find the following: /cvmfs/some/where/{Version/}{platform}/diracosrc - CVMFS_locations = /cvmfs/some/ # Comma-separated list of locations where DIRAC installations, CAs and CRLs can be found. The Pilot will then try and find the following: /cvmfs/some/{releaseProject}dirac/{Version/}{platform}/diracosrc and /cvmfs/some/etc/grid-security/certificates. Those same locations will also be used by the Pilot Wrapper to try and find the pilot files in /cvmfs/some/{releaseProject}dirac/pilot/. # For the Matcher CheckVersion = False # True by default, if false any version would be accepted at matching level (this is a check done by the WorkloadManagementSystem/Matcher service). diff --git a/src/DIRAC/WorkloadManagementSystem/Agent/SiteDirector.py b/src/DIRAC/WorkloadManagementSystem/Agent/SiteDirector.py index 2f0f8774472..4217476fbe5 100644 --- a/src/DIRAC/WorkloadManagementSystem/Agent/SiteDirector.py +++ b/src/DIRAC/WorkloadManagementSystem/Agent/SiteDirector.py @@ -624,6 +624,11 @@ def _getPilotOptions(self, queue: str) -> list[str]: else: self.log.info("DIRAC project will be installed by pilots") + # Architecture script to use + architectureScript = opsHelper.getValue("Pilot/ArchitectureScript", "") + if architectureScript: + pilotOptions.append(f"--architectureScript={architectureScript}") + # Preinstalled environment or list of CVMFS locations defined ? preinstalledEnv = opsHelper.getValue("Pilot/PreinstalledEnv", "") preinstalledEnvPrefix = opsHelper.getValue("Pilot/PreinstalledEnvPrefix", "") diff --git a/src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_SiteDirector.py b/src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_SiteDirector.py index b562ce18742..6c94c6c1eed 100644 --- a/src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_SiteDirector.py +++ b/src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_SiteDirector.py @@ -261,6 +261,7 @@ def test_getPilotWrapper(mocker, sd, pilotWrapperDirectory): # Get pilot options pilotOptions = sd._getPilotOptions("ce1.site1.com_condor") assert { + "--architectureScript=123", "--preinstalledEnv=123", "--wnVO=dteam", "-n LCG.Site1.com",