LMOD & Modules Integration
Integrating environment modules information into the HPC Dashboard
LMOD & Modules Integration
Under Development:
This section is currently being developed. The complete guide will be available soon!
Overview
The LMOD & Modules integration allows the HPC Dashboard to display available software modules on your cluster, making it easy for users to discover software without having to log in and run module commands.
This feature provides:
- A searchable catalog of available software modules
- Detailed module information including versions and dependencies
- Organized display of modules by category
- Easy access to module documentation
Key benefits of this integration include improved user experience, reduced support requests for software availability questions, and better visibility into the software ecosystem of your cluster.
Setup and Configuration
Module Data Collection
To enable module display in the dashboard, you need to regularly collect module data from your LMOD system. This is typically done using a script that runs via cron.
Create a script like this example (customize paths according to your environment):
#!/bin/bash
# Save this script as collect_modules.sh and run it via cron
json_dir="/path/to/public/directory"
json_output="${json_dir}/modules.json"
mkdir -p "$json_dir"
export MODULESHOME="/usr/share/lmod/lmod"
export MODULEPATH="/your/module/path"
$LMOD_DIR/spider -o jsonSoftwarePage $MODULEPATH | python -m json.tool > "$json_output"
Cron Configuration
Set up a daily cron job to run this script. For example, to run the script daily at 2 AM:
0 2 * * * /path/to/collect_modules.sh
Dashboard Configuration
Make sure the json_output
path above points to a location within your dashboard's public directory so the dashboard can access the file. Typically, this would be the public/data
directory in your dashboard installation.
User Experience:
Module integration allows users to easily discover available software and specific versions without having to log into the cluster and run module commands.