Make all Lmod-based shell initialisations more robust, add additional features to facilitate site integration#153
Conversation
init/lmod/bash
Outdated
| # and clear out any memory Lmod might have | ||
| unset _ModuleTable001_ | ||
| # Path to top-level module tree | ||
| export MODULEPATH="${EESSI_CVMFS_REPO}/init/modules" |
There was a problem hiding this comment.
Note this now exposes all EESSI versions, but loads a specific one
There was a problem hiding this comment.
We should also allow people to be able to add to this default MODULEPATH
…s into better_init
trz42
left a comment
There was a problem hiding this comment.
Left some example comments in for bash only. They also apply to the other shells. Partly the naming of the files is off, the files have no header and don't explain some basic information. All this makes it harder to understand/review what the scripts shall do and if they do that actually. The use and/or naming of $EESSI_VERSION and $EESSI_DEFAULT_VERSION is confusing.
One more comment regarding using non-pinned code (here it's only in an echo statement though).
General comment: The title of the PR seems misleading. The PR seems to add capabilities. How does this make shell initialisations more robust?
It would be great if the PR had included some description: What problem does it solve? Or what improvement or additional feature it provides? What's the main idea to do this?
…s into better_init
|
@trz42 I've hopefully addressed almost everything in the initial review (including adding a description to the PR). I've left the renaming of files to templates as follow-up issue #155 as it makes this PR harder again to review (and I don't touch that naming within the PR, it was an existing problem) |
|
bot: build repo:eessi.io-2023.06-software instance:eessi-bot-deucalion for:arch=aarch64/a64fx |
|
New job on instance
|
|
New job on instance
|
|
bot: build repo:eessi.io-2023.06-software instance:eessi-bot-deucalion for:arch=aarch64/a64fx |
|
New job on instance
|
|
New job on instance
|
|
bot: build repo:eessi.io-2023.06-software instance:eessi-bot-deucalion for:arch=aarch64/a64fx |
|
New job on instance
|
|
New job on instance
|
bedroge
left a comment
There was a problem hiding this comment.
Lgtm, this is a great improvement!
|
bot: build repo:eessi.io-2023.06-software instance:eessi-bot-deucalion for:arch=aarch64/a64fx |
|
New job on instance
|
|
New job on instance
|
|
Staging PR merged, merging this PR too. |
Right now, if I use
init/lmod/bashsomewhere where I already have Lmod available I getwhich is quite confusing (the module is visibile but it couldn't be loaded). An issue for this was opened in https://gitlab.com/eessi/support/-/issues/221
This PR fixes that problem by forcing Lmod to do a hard(er) reset when initialising.
The PR also introduces new capabilities, a site can append to MODULEPATH and can add additional default modules that can be loaded before or after the EESSI module.
An example of such possible configuration (at a site where the original problem was seen, and that requires specific modules to be loaded to be able to submit jobs to the queuing system):