Getting Access to EESSI¶
To get access to EESSI, it suffices to have CernVM-FS installed, and make it aware of the EESSI repository.
Is EESSI accessible?¶
EESSI can be accessed via a native (CernVM-FS) installation, or via a container that includes CernVM-FS.
Before you look into these options, check if EESSI is already accessible on your system.
Run the following command:
ls command may take a couple of seconds to finish, since CernVM-FS may need to download
or update the metadata for that directory.
If you see output like shown below, you already have access to EESSI on your system.
host_injections latest versions
For starting to use EESSI, continue reading about Setting up environment.
If you see an error message as shown below, EESSI is not yet accessible on your system.
ls: /cvmfs/pilot.eessi-hpc.org: No such file or directory
Continue reading about the Native installation of EESSI, or access via the EESSI container.
Setting up native access to EESSI, that is a system-wide deployment that does not require workarounds like using a container, requires the installation and configuration of CernVM-FS.
This requires admin privileges, since you need to install CernVM-FS as an OS package.
The following actions must be taken for a (basic) native installation of EESSI:
- Installing CernVM-FS itself, ideally using the OS packages provided by the CernVM-FS project (although installing from source is also possible);
- Installing the EESSI configuration for CernVM-FS, which can be done by installing the
cvmfs-config-eessipackage that we provide for the most popular Linux distributions (more information available here);
- Creating a small client configuration file for CernVM-FS (
/etc/cvmfs/default.local); see also the CernVM-FS documentation.
The good news is that all of this only requires a handful commands :
# Installation commands for RHEL-based distros like CentOS, Rocky Linux, Almalinux, Fedora, ... # install CernVM-FS sudo yum install -y https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm sudo yum install -y cvmfs # install EESSI configuration for CernVM-FS sudo yum install -y https://github.com/EESSI/filesystem-layer/releases/download/latest/cvmfs-config-eessi-latest.noarch.rpm # create client configuration file for CernVM-FS (no squid proxy, 10GB local CernVM-FS client cache) sudo bash -c "echo 'CVMFS_CLIENT_PROFILE="single"' > /etc/cvmfs/default.local" sudo bash -c "echo 'CVMFS_QUOTA_LIMIT=10000' >> /etc/cvmfs/default.local" # make sure that EESSI CernVM-FS repository is accessible sudo cvmfs_config setup
# Installation commands for Debian-based distros like Ubuntu, ... # install CernVM-FS sudo apt-get install lsb-release wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb sudo dpkg -i cvmfs-release-latest_all.deb rm -f cvmfs-release-latest_all.deb sudo apt-get update sudo apt-get install -y cvmfs # install EESSI configuration for CernVM-FS wget https://github.com/EESSI/filesystem-layer/releases/download/latest/cvmfs-config-eessi_latest_all.deb sudo dpkg -i cvmfs-config-eessi_latest_all.deb # create client configuration file for CernVM-FS (no squid proxy, 10GB local CernVM-FS client cache) sudo bash -c "echo 'CVMFS_CLIENT_PROFILE="single"' > /etc/cvmfs/default.local" sudo bash -c "echo 'CVMFS_QUOTA_LIMIT=10000' >> /etc/cvmfs/default.local" # make sure that EESSI CernVM-FS repository is accessible sudo cvmfs_config setup
The commands above only cover the basic installation of EESSI.
This is good enough for an individual client, or for testing purposes, but for a production-quality setup you should also set up a Squid proxy cache.
For large-scale systems, like an HPC cluster, you should also consider setting up your own CernVM-FS Stratum-1 mirror server.
For more details on this, please refer to the Stratum 1 and proxies section of the CernVM-FS tutorial.
EESSI client container¶
eessi_container.sh script provides a very easy yet versatile means
to access EESSI.
This page guides you through several example scenarios illustrating the use of the script.
- Apptainer 1.0.0 (or newer), or Singularity 3.7.x
- Check with
- Support for the
--fusemountoption in the
runsubcommands is required
- Check with
- Check with
- Check with
repository and change into the
software-layer directory by running these commands:
git clone https://github.com/EESSI/software-layer.git cd software-layer
eessi_container script (from the
software-layer directory) to start a shell session in the EESSI container:
Startup will take a bit longer the first time you run this because the container image is downloaded and converted.
You should see output like
Using /tmp/eessi.abc123defg as tmp storage (add '--resume /tmp/eessi.abc123defg' to resume where this session ended). Pulling container image from docker://ghcr.io/eessi/build-node:debian11 to /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11.sif Launching container with command (next line): singularity -q shell --fusemount container:cvmfs2 pilot.eessi-hpc.org /cvmfs/pilot.eessi-hpc.org /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11.sif CernVM-FS: pre-mounted on file descriptor 3 Apptainer> CernVM-FS: loading Fuse module... done fuse: failed to clone device fd: Inappropriate ioctl for device fuse: trying to continue without -o clone_fd. Apptainer>
You may have to press enter to clearly see the prompt as some messages
CernVM-FS: have been printed after the first prompt
Apptainer> was shown.
In this environment, you should be able to access the EESSI pilot repository:
More information on using the
eessi_container script is available in the EESSI documentation.
To start using EESSI, see Using EESSI.
next: Using EESSI - (back to overview page)