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
vim is not installed and one has to resort to the antiquated vi
- Singularity overrides the user's default prompt, removing important contextual information located there
- Command autocompletion does not work
ls colors 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 project creates a release for the production architecture.
- When
scram runtime is 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 like rivet made 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.
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-cc7command. Unfortunately, this comes with an important caveat for interactive usage because the images are not designed for this use case:vimis not installed and one has to resort to the antiquatedvilscolors are disabledIt 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
scramand 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:
scram projectcreates a release for the production architecture.scram runtimeis used in an area whose architecture doesn't match the host, it sets up environment variables telling SCRAM to use a container.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.