-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Problem description
In the context of the widespread migration to Alma9, containers are needed for the widely-used CMSSW 10_6 series powering Run 2 UltraLegacy analyses. Images are available to be used through the cmssw-cc7 command. Unfortunately, this comes with an important caveat for interactive usage because the images are not designed for this use case:
- Editors are very limited, even
vimis not installed and one has to resort to the antiquatedvi - Singularity overrides the user's default prompt, removing important contextual information located there
- Command autocompletion does not work
lscolors are disabled- etc
It is unfortunately not possible to build more comprehensive images based on CentOS 7 because the corresponding repositories have been removed.
In practice, the above means that users need to juggle between two shells: one running in Singularity to run scram and CMSSW commands, and another running in Alma9 for everything else. This is extremely frustrating.
Desired behavior
I think part of the solution to these issues is for SCRAM to add container support. The behavior would be as follows:
- When a release for the host architecture is not available,
scram projectcreates a release for the production architecture. - When
scram runtimeis used in an area whose architecture doesn't match the host, it sets up environment variables telling SCRAM to use a container. - Other SCRAM commands transparently start a container to run the command inside.
- A new command, say
scram run, allows running a command in the container environment. This is needed for commands likerivetmade available by CMSSW.
Implementing this would greatly alleviate the pain of using CMSSW 10_6_X that many analyzes are currently facing.
In fact, I think SCRAM should embrace containers even further and use them regardless of the host architecture. Always running in a container will prevent the same issue from reappearing in the future.