Skip to content

Commit

Permalink
Merge pull request DIRACGrid#7359 from fstagni/80_add_CVMFS_locations
Browse files Browse the repository at this point in the history
[8.0] SiteDirector: add option for CVMFS_locations
  • Loading branch information
fstagni authored Dec 11, 2023
2 parents 2c273ae + 6867ac9 commit e9d5937
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ 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
# 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).

Expand All @@ -96,7 +97,7 @@ Further details:
- *Version* is the version of DIRAC that the pilots will install. Add the version of your DIRAC extension if you have one. A list of versions can also be added here, meaning that all these versions will be accepted by the Matcher (see below), while only the first in the list will be the one used by the pilots for knowing which DIRAC version to install (e.g. if Version=v7r0p2,v7r0p1 then pilots will install version v7r0p2)
- *Project* is, normally, the same as *Extensions*
- When the *CheckVersion* option is "True", the version checking done at the Matcher level will be strict, which means that pilots running different versions from those listed in the *Versions* option will refuse to match any job. There is anyway the possibility to list more than one version in *Versions*; in this case, all of them will be accepted by the Matcher.

- DIRAC versions are pre-installed on CVMFS in the following location: `/cvmfs/dirac.egi.eu`. From there `/cvmfs/dirac.egi.eu/dirac` contains DIRAC installations, like `/cvmfs/dirac.egi.eu/dirac/v8.0.32`, which can be sourced with `. /cvmfs/dirac.egi.eu/dirac/v8.0.32/Linux-x86_64/diracosrc`


Pilot Commands
Expand Down
5 changes: 4 additions & 1 deletion src/DIRAC/WorkloadManagementSystem/Agent/SiteDirector.py
Original file line number Diff line number Diff line change
Expand Up @@ -1024,13 +1024,16 @@ def _getPilotOptions(self, queue, **kwargs):
else:
self.log.info("DIRAC project will be installed by pilots")

# Preinstalled environment defined ?
# Preinstalled environment or list of CVMFS locations defined ?
preinstalledEnv = opsHelper.getValue("Pilot/PreinstalledEnv", "")
preinstalledEnvPrefix = opsHelper.getValue("Pilot/PreinstalledEnvPrefix", "")
CVMFS_locations = opsHelper.getValue("Pilot/CVMFS_locations", "")
if preinstalledEnv:
pilotOptions.append(f"--preinstalledEnv={preinstalledEnv}")
elif preinstalledEnvPrefix:
pilotOptions.append(f"--preinstalledEnvPrefix={preinstalledEnvPrefix}")
elif CVMFS_locations:
pilotOptions.append(f"--CVMFS_locations={CVMFS_locations}")

# Pilot Logging defined?
if opsHelper.getValue("/Services/JobMonitoring/usePilotsLoggingFlag", False):
Expand Down

0 comments on commit e9d5937

Please sign in to comment.