On 13/10/16 16:42, Ole Holm Nielsen wrote:
On 10/13/2016 04:27 PM, Kenneth Hoste wrote:
I'm afraid I don't have one. We don't load Easybuild by default for
our
users. But you should take a look at:
https://lmod.readthedocs.io/en/latest/070_standard_modules.html
Thanks, this page is actually useful and specific! So I've created a
new file /etc/profile.d/z01_EasyBuild.sh (to be loaded *after* Lmod's
z00_* scripts) with this content:
if [ -z "$__Init_Default_Modules" ]; then
export __Init_Default_Modules=1;
# module --initial_load restore
export EASYBUILD_MODULES_TOOL=Lmod
export EASYBUILD_PREFIX=/home/modules
module use $EASYBUILD_PREFIX/modules/all
Is this right?
Are the modules really in /home/modules/modules/all?
Yes, I NFS-mount /home/modules, and there are 5 EB directories there:
# ls -la /home/modules
total 16
drwxrwxr-x. 7 modules modules 80 Oct 13 12:17 .
drwxr-xr-x. 3 root root 0 Oct 13 16:34 ..
drwxrwxr-x. 2 modules modules 6 Oct 13 14:21 build
drwxrwxr-x. 35 modules modules 4096 Oct 13 14:21 ebfiles_repo
drwxrwxr-x. 15 modules modules 4096 Oct 13 13:55 modules
drwxrwxr-x. 36 modules modules 4096 Oct 13 14:21 software
drwxrwxr-x. 16 modules modules 4096 Sep 29 15:28 sources
Are you suggesting that only the "modules" subdirectory will actually
be needed by users? Anyway, the EB module building requires access to
all subdirectories, so it seems convenient to have all subdirectories
exposed this way. Am I making any mistakes here?
No, it just looks weird to me to have a modules/modules directory, seems
like a potential source for confusion...
I'd personally go with /home/apps or /apps or /home/easybuild, but
that's up to you :)
The recommended line "module --initial_load restore" generates an
unwarranted message:
The system default contains no modules
(env var: LMOD_SYSTEM_DEFAULT_MODULES is empty)
No changes in loaded modules
so I got rid of it by commenting this line out.
Well, you need to define $LMOD_SYSTEM_DEFAULT_MODULES :)
Do I really *need* to? What's the point, and what should I do then?
If you define $LMOD_SYSTEM_DEFAULT_MODULES=EasyBuild, then you (or your
users) can easily restore after purge using 'module restore'.
Other than that, I don't think there are big advantages, but someone
will correct me if I'm wrong (e.g. Robert in CC, the Lmod lead developer).
Question: Does anyone see potential problems or bad side effects with
such a global setup of EB for all users?
Having a proper default setup in place makes sense, but users can easily
override it with their own config file or via environment variables.
That sounds like a "Good Thing" for advanced users, right?
Sure. If the users are indeed advanced, I guess they can potentially
shoot themselves in the foot easily too by not realizing what redefining
$EASYBUILD_PREFIX or undefining $EASYBUILD_MODULES_TOOL means... They'll
notice soon enough I guess. ;)
The only thing we do is load Lmod itself (a symlink to init/bash in
/etc/profile.d).
Question: How do your users initialize the usage of EB?
They can define a config file, or define environment variables
(typically via .bashrc), up to them...
Ah, so it's DIY for your users! I'm trying to make it easy for new
users so that they don't need to manipulate .bashrc after reading some
web documentation... I guess that's a matter of taste.
Well, only users that are, for whatever reason, not happy with the
system-level configuration you put in place would do that, of course.
One thing that comes to mind: do all your users have access to
/home/modules ($EASYBUILD_PREFIX)?
regards,
Kenneth