SingularityContainers

From T2B Wiki
Revision as of 10:40, 13 November 2019 by ROMAIN ROUGNY rrougny@vub.ac.be (talk | contribs) (Created page with "To make SL7 available for everyone while the cluster is still in SL6, we make use of containers. <br> === To test code on the mX UIs === Simply go into an EL7 environment: s...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

To make SL7 available for everyone while the cluster is still in SL6, we make use of containers.


To test code on the mX UIs

Simply go into an EL7 environment:

sl7 bash

This should give you a prompt, where your SL7 code should work.

Just to convince yourself, you can cross-check the OS release:

cat /etc/redhat-release


To use SL7 inside a cluster job

You can simply ask your script to be ran inside the sl7 container:

sl7 /user/$USER/MYSUPERSCRIPT.sh

Please note that you then need, in your script, to go to TMPDIR.
It is HIGHLY recommended to play with this first, by printing path and env variables, to check everything inside the container.

To be more exhaustive, what the script sl7 does is first to add your PATH & LD_LIBRARY_PATH to singularity, and then launch your script using the following line:

singularity exec -B /cvmfs -B /pnfs -B /user -B /scratch /cvmfs/singularity.opensciencegrid.org/bbockelm/cms\:rhel7 MYSCRIPT.sh

where:

  • exec: action to do for singularity, here will just execute your command in the container specified
  • -B /mountpoint: is used to have the path present in the container if needed.
  • /cvmfs/.../cms:rhel7: the path on /cvmfs of the container used.
  • MYSCRIPT.sh: script or command to execute


N.B. If you want to create your own container, with for instance specific software versions, it is quite simple.
You can use the guide here, or google singularity container in your favorite search engine :)