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.