Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[master] Setting up preinstalled DIRAC in a pilot #187

Closed
wants to merge 4 commits into from

Conversation

atsareg
Copy link
Contributor

@atsareg atsareg commented May 26, 2023

This PR allows to specify the setup script location which will be used to define a preinstalled DIRAC environment instead of installing DIRACOS2/DIRAC from scratch on a worker node. Example script locations:

  • /cvmfs/dirac.egi.eu/dirac/pro/diracos/diracosrc
  • /cvmfs/dirac.egi.eu/dirac/bashrc_egi

This is addressing #166 but makes use of predefined DIRAC clients in CVMFS.

@fstagni
Copy link
Contributor

fstagni commented Jun 12, 2023

This is a bit different/simpler solution to #166 , the question here if this would be enough.
Using a venv, as suggested in the original issue, would add flexibility on top of what is here.

@atsareg
Copy link
Contributor Author

atsareg commented Jun 12, 2023

Indeed. But this one solves the immediate issue. The solution based on venv needs some experimenting, at least from me. Also I am worried to have too many nested environments coexistence.

@chrisburr
Copy link
Member

This effectively bypasses the pilot version specified in the CS which doesn't feel great. It also doesn't work if you have multiple architectures. If we could instead have a layout like:

/cvmfs/dirac.egi.eu/dirac/{version}/{uname -m}-{uname -s}/diracosrc

You can then have --preinstalledEnvPrefix=/cvmfs/dirac.egi.eu/dirac/ and would probably be good enough to replace the LHCbInstallDIRAC pilot command.

@atsareg
Copy link
Contributor Author

atsareg commented Jun 16, 2023

In CVMFS we have now /cvmfs/dirac.egi.eu/dirac/{version}/diracos/diracosrc. So a particular DIRAC version can be specified. But not different platforms. I will see how the specified version can be taken from a standard option

@chrisburr
Copy link
Member

chrisburr commented Jun 22, 2023

I'd propose having --preinstalledEnvBashrc= in addition to --preinstalledEnvPrefix=/cvmfs/dirac.egi.eu/dirac/ with the view that it contains at least something like:

source ${DIRACOS}/diracosrc

The value of DIRACOS would be set externally using --preinstalledEnvPrefix

@atsareg
Copy link
Contributor Author

atsareg commented Jul 13, 2023

The PR is updated along the lines of the discussion above. I keep two settings, --preinstalledEnv and --preinstalledEnvPrefix. If --preinstalledEnv is specified, it is used as the environment setting script, --preinstalledEnvPrefix is ignored in that case. If --preinstalledEnvPrefix is specified (and not --preinstalledEnv), then environment is resolved with the release area structure like in the CVMFS of LHCb. I have updated the /cvmfs/dirac.egi.eu to this structure already

@fstagni fstagni closed this Jul 25, 2023
@fstagni fstagni reopened this Jul 25, 2023
@fstagni
Copy link
Contributor

fstagni commented Jul 31, 2023

One more note: the case of user-defined environments is not considered in this implementation.

@fstagni fstagni changed the title Setting up preinstalled DIRAC in a pilot [master] Setting up preinstalled DIRAC in a pilot Aug 1, 2023
@fstagni
Copy link
Contributor

fstagni commented Aug 4, 2023

Closing as superseded by #205

@fstagni fstagni closed this Aug 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants