# Agenda for Lmod Zoom Mtg Sept. 6th 2022 - 9:30 Central (14:30 UTC) ## Attendees - Robert McLay (TACC) - Matthew Cawood (TACC) - Kenneth Hoste (HPC-UGent) - Sebastien Moretti (SIB) - Joey Dumont (Governement of Canada) - Raj Ayyampalayam (Genentech/Roche) - Davide Vanzo (Microsoft Azure) ## Notes - Q/A - Changes to module --miniConfig - Taking Kenneth's suggestion about configuration variable - Lmod now reports where configuration variables are set: ml --miniConfig ``` Changes from Default Configuration ---------------------------------- Name Where Set Default Value ---- --------- ------- ----- LFS_VERSION D 1.6.3 1.8.0 LMOD_EXPORT_MODULE C yes no LMOD_HAVE_LUA_TERM C no yes LMOD_SETTARG_FULL_SUPPORT E no yes LMOD_SYSTEM_DEFAULT_MODULES E __unknown__ StdEnv Where Set -> D: default, E: environment, C: configuration lmod_cfg: lmod_config.lua SitePkg: SitePackage StdPkg: StandardPackage Other: Set somewhere outside of normal locations ``` - Issue [#585](https://github.com/TACC/Lmod/issues/585): Using **install** instead of **cp** - Changed rule for system accounts vs. user accounts: - Use UID_MIN from /etc/login.defs otherwise 500 for UID_MIN - This came up during the same change for XALT - Issue [#595](https://github.com/TACC/Lmod/issues/595): Switching ~/.lmod.d to use ~/.config/lmod/\*. and switching ~/.lmod.d/.cache/\* to ~/.cache/lmod/\* There are two issues here: the user cache files and collections - Cache files: - switch ~/.lmod.d/.cache/* to ~/.cache/lmod\* immediately cache files are only valid for 24 hours anyway - Collections: - Write collections to both ~/.lmod.d/ **AND** ~/.config/lmod for now - At a later date (maybe when Lmod 9.0 is released) only write to ~/.config/lmod - Chose ~/.config/lmod over ~/.lmod.d/ - Always read collections from ~/.lmod.d if not available from ~/.config/lmod - A Request for Nag message to only be reported when a user load (not when a module is loaded as a dependency) - Request by Maxime (ComputeCanada - Digital Research Alliance of Canada), but this is probably of general interest - Possible solution: support a Lua table as well as original format. Lmod would use both. - Possibly add hook support as well. - If file name ends with \*.lua extension then use this table: ``` adminT = { { name ={"pattern1", "pattern2"}, Options={"userOnly"}, message=[==[Message blah blah blah]==] }, { name ={"pattern1", "pattern2"}, message=[==[Message2 blah blah blah]==] }, ... } ``` - maybe specific keys like "userOnly=true" is better? - additional options to support later could be - warning messages vs errors - don't print message for members of specific groups - Possible new feature: ``` $ module category ---- Category: CFD ---- ABAQUS (1) ANSYS (2) -- Category: Develop -- ANSYS (2) [...] ``` - Thinking on changing how "module unload" works - "module unload" re-reads module file to know what needs to be undone in current environment - Bigger problem when version of module is not pinned in collection... - What if module file has changed (or was removed) since it was loaded, or included in a collection? - Support for remembering contents of a module file is already there - This could be used to remember how a loaded module file changes the environment (in ModuleTable) - Is this worth doing? - Some concerns about the amount of information that needs to be stored per loaded module - Especially in csh - For some software in EasyBuild (lots of dependencies), over 100 modules could get loaded - Kenneth can provide an example module tree to Robert to play around with - Contents of actual module file would need to be saved in memory - Since some operations could be guarded by a condition (example: only on load) - Some parts (description, etc.) could be stripped out though - Presentation on How Lmod loads a modulefile (Part 2). Slides found here: https://github.com/TACC/Lmod/blob/master/my_docs/22/lmod_zoom_mtg_2022_09_06/presentation.pdf - postponed until next Lmod monthly meeting - Next meeting: Tue 4 Oct 2022 - 9:30 Central (14:30 UTC)