Computing : Singularity/Apptainer support in BIRD

Singularity to Apptainer renaming

Singularity has been renamed to Apptainer in 2022 due to legal constraints. In general, just the name has changed and all options are the same. Replacing the command `singularity` with `apptainer` should work on updated systems.


Apptainer/Singularity enables users to have full control of their environment. Apptainer/Singularity containers can be used to package entire scientific workflows, software and libraries. This means that you don’t have to ask your cluster admin to install anything for you - you can put it in a Apptainer/Singularity container and run.

To use Apptainer/Singularity in BIRD please use (in your config file):

+MySingularityImage = "/path//container/sl6" # example path to your singularity image
Requirements = ( OpSysAndVer == "CentOS7" )

Optional:

+MySingularityArgs = "--my-args"

Can be used to put additional arguments into the Apptainer/Singularity call on the workernode, only use this options if you know what you are doing, check your additional options against the given options in the Apptainer/Singularity call (see below) and test your individual options with a single job before submitting bigger clusters.

The image can be located in any of the shared filesystem (CVMFS/DUST/AFS)

Testing a Apptainer/Singularity image

to test your Apptainer/Singularity image login on a remote-submit host and use the following: 

singularity exec --contain --bind /afs:/afs --bind /nfs:/nfs --bind /pnfs:/pnfs --bind /cvmfs:/cvmfs --bind /var/lib/condor:/var/lib/condor --pwd </working/directory/of/job><--your-singularity-args> </path/singularity:image> <your executable and args>

An alternative method for maybe further debugging would be an interactive job (condor_submit -i) which will log you into the Apptainer/Singularity jobcontainer.


Singularity images

Apptainer/Singularity is a user space based container system that does not require root access. While there is actually a runable SL6 image in the path of the example (/cvmfs/grid.desy.de/container/sl6)

the DESY IT group has no intention to provide or maintain & support Apptainer/Singularity images of any kind. We have build this image for our internal use and cannot promise any compatibility with your use case.

Please provide your own image that may be created by yourself or provided by your VO or local group !

Please make sure, that a container (and the software versions it contains) is valid for your use case - as you would do for a software release

Here are some common sources for images that can be provided as '/path/to/image' in the above syntax example

CMS GRID images:

Central production:

  •  /cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6
  • /cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel7

Also centrally maintained:

ATLAS GRID images:

/cvmfs/atlas.cern.ch/repo/containers/fs/singularity/x86_64-centos7
/cvmfs/atlas.cern.ch/repo/containers/fs/singularity/x86_64-centos6

DESY IT test image:

/cvmfs/grid.desy.de/container/sl6