Hi,

> https://github.com/Bright-Computing/bic ## .spec file and much paraphernalia 
> included, ignore the filenames
> If you are running a cluster by Bright Computing with Lmod, I bet you're 
> probably using a fork of that work, already.

Also, some more ideas that were incorporated in that effort, it seems with good 
success where they were deployed:
(probably, you'd like to fish out concepts, in your own configurations!)

* Give default choices which turn EasyBuild compatible with its older versions 
and env-tools (EASYBUILD_MODULE*)
* Give default choices which turn Lmod compatible with env-modules 
(LMOD_TMOD_FIND_FIRST and friends);
   important because within certain container images providing Lmod was not 
exactly choice, but modules were needed
* MODULEPATH is adjustable at any level: 
{global*,site/*,sitelocal/*,nodecategory/*,groups/`id -gn`,user/`id -un`}
* Let Lmod cache to come from an in-mem filesystem (/dev/shm) for great 
interactivity and fast startup
* automatically feed logfiles for later processing (spack, graylog and what 
not, via LMOD_PACKAGE_PATH)
* settarg and other features work consistently across *both* bash & csh 
families - this was a great pain to get right.
* Finally, the implementation is very economical on the user: thanks to guard 
variables, it only costs on first login.

This is the Lmod tool that I wished somebody had provided, when I received the 
original challenge :)

F.

> The driving need for it has been to combine a few requirements together and 
> rationalise the Lmod RPMs:
> * Deliver Lmod across a dozen+ HPC clusters with varying needs of 
> configuration, but in a consistent manner.
> * Keep separate what needs to be separate: configuration by upstream Lmod, by 
> Bright & by local HPC sites.
> * Changes in one of the above separation of domains should not automatically 
> require rebuilding/hacking the RPMs (or, at least, not hack the .spec too 
> often).

> There's also a pretty neat extendible mechanism to define initialisation 
> variables, check the 2 .yaml files here:
> https://github.com/Bright-Computing/bic/tree/master/test/etc/profile.definitions/site

--
echo "sysadmin know better bash than english" | sed s/min/mins/ \
        | sed 's/better bash/bash better/' # Yelling in a CERN forum

Reply via email to