diff --git a/Pilot/pilotCommands.py b/Pilot/pilotCommands.py index c79b4dff..a84fd9fb 100644 --- a/Pilot/pilotCommands.py +++ b/Pilot/pilotCommands.py @@ -312,6 +312,7 @@ def _getPreinstalledEnvScript(self): self.log.debug("self.pp.preinstalledEnv = %s" % self.pp.preinstalledEnv) self.log.debug("self.pp.preinstalledEnvPrefix = %s" % self.pp.preinstalledEnvPrefix) + self.log.debug("self.pp.CVMFS_locations = %s" % self.pp.CVMFS_locations) preinstalledEnvScript = self.pp.preinstalledEnv if not preinstalledEnvScript and self.pp.preinstalledEnvPrefix: @@ -319,6 +320,14 @@ def _getPreinstalledEnvScript(self): arch = platform.system() + "-" + platform.machine() preinstalledEnvScript = os.path.join(self.pp.preinstalledEnvPrefix, version, arch, "diracosrc") + if not preinstalledEnvScript and self.pp.CVMFS_locations: + for CVMFS_location in self.pp.CVMFS_locations: + version = self.pp.releaseVersion or "pro" + arch = platform.system() + "-" + platform.machine() + preinstalledEnvScript = os.path.join(CVMFS_location, self.pp.releaseProject.lower() + "dirac", version, arch, "diracosrc") + if os.path.isfile(preinstalledEnvScript): + break + self.log.debug("preinstalledEnvScript = %s" % preinstalledEnvScript) if preinstalledEnvScript: diff --git a/Pilot/pilotTools.py b/Pilot/pilotTools.py index 6f9a0f30..08916781 100644 --- a/Pilot/pilotTools.py +++ b/Pilot/pilotTools.py @@ -930,6 +930,7 @@ def __init__(self): ("", "pilotUUID=", "pilot UUID"), ("", "preinstalledEnv=", "preinstalled pilot environment script location"), ("", "preinstalledEnvPrefix=", "preinstalled pilot environment area prefix"), + ("", "CVMFS_locations=", "comma-separated list of CVMS locations"), ) # Possibly get Setup and JSON URL/filename from command line @@ -1112,6 +1113,8 @@ def __initCommandLine2(self): self.preinstalledEnv = v elif o == "--preinstalledEnvPrefix": self.preinstalledEnvPrefix = v + elif o == "--CVMFS_locations": + self.CVMFS_locations = v.split(",") def __loadJSON(self): """