software-layer icon indicating copy to clipboard operation
software-layer copied to clipboard

eessi-init command to facilitate initializing of EESSI environment

Open boegel opened this issue 4 years ago • 5 comments

We should look into providing an eessi-init command that makes it easier/less awkward to initialize the EESSI environment.

By default, it should simply run source source /cvmfs/pilot.eessi-hpc.org/latest/init/bash, but it could also provide options, for example to use a specific subtree rather than letting archspec figuring it out.

This is perhaps easiest by implementing a small Python package, since that can be installed by a non-admin user easily via pip install --user, and it shouldn't be difficult to generate an RPM or .deb file either for a simple Python package that follows standard practice.

(hat tip @hmeiland who raises this idea in a recent meeting)

boegel avatar Nov 20 '21 09:11 boegel

In a module environment, one should be able to also do module load EESSI that performs a similar task.

terjekv avatar Nov 20 '21 11:11 terjekv

@terjekv Yes, we should just offer all these different "access methods" for the EESSI repo, for different systems/use cases.

(Relevant issue about the module: https://github.com/EESSI/software-layer/issues/68)

bedroge avatar Nov 20 '21 11:11 bedroge

Another feature of this eessi-init I would like to see is ability to do its job in non-interactive environment as well, for example in a container startup scenario where we currently fail on $BASH_SOURCE being undefined.

jpecar avatar Jan 21 '22 09:01 jpecar

rough starting point here... https://github.com/EESSI/software-layer/pull/166

hmeiland avatar Feb 04 '22 16:02 hmeiland

Another feature of this eessi-init I would like to see is ability to do its job in non-interactive environment as well, for example in a container startup scenario where we currently fail on $BASH_SOURCE being undefined.

Just want to second this point. The current init script is not supporting zsh for example. Not a big deal, but a more generic shell script is probably a good idea.

stderr-enst avatar Sep 14 '22 12:09 stderr-enst