Open OnDemand Integration

Integrating the HPC Dashboard with Open OnDemand

Open OnDemand Integration

This guide provides detailed instructions for integrating the HPC Dashboard with Open OnDemand, creating a seamless user experience.

Overview

Open OnDemand (OOD) is a web portal that provides web access to HPC resources, including:

  • Web-based shell access
  • File management
  • Job submission and monitoring
  • Interactive desktop sessions
  • Jupyter notebooks and RStudio

Integrating the HPC Dashboard with OOD creates a comprehensive user interface for all cluster interactions.

User Experience:

Integration allows users to seamlessly move between the detailed monitoring provided by the HPC Dashboard and the interactive job submission features of Open OnDemand.

Prerequisites

  • python3
  • An Open OnDemand instance with permission to create and add new apps.

Installation Steps

  1. On the Open onDemand node, you will need to clone the integration repository:
cd /var/www/ood/apps/sys/
git clone https://github.com/thediymaker/ood-status-iframe.git
cd ood-status-iframe
  1. Set up the Python environment:
python3 -m venv ood-status-iframe
source ood-status-iframe/bin/activate
python3 -m pip install -r requirements.txt
chmod +x bin/python

Configuration Steps

  1. Update the iframe URL in templates/layout.html:

Accessibility:

The dashboard does not need to be reachable from the Open OnDemand instance, but the users who access the dashboard need to be able to reach it. The Iframe just loads another URL for the user, if the user can not normally reach the URL, this will not work for them in Open OnDemand either.

<iframe src="https://your-hpc-status-page-address.com" ...></iframe>
  1. Configure manifest.yml:
name: System Status
description: HPC Status Page
category: System
subcategory: System Information
icon: fa://bar-chart
show_in_menu: true

Accessing the Integration

Access Open OnDemand at http://your-open-ondemand-url.com/

The status page is available under System → System Status.

Troubleshooting

If you encounter issues with the integration, check the following:

  • Ensure the hostname is correctly configured in the iframe URL.
  • Ensure users can reach the dashboard outside of Open OnDemand
  • Verify that the Python environment has all required dependencies installed
  • Check OOD logs for any error messages

Advanced Configuration:

For advanced configuration options and custom deployments, refer to the Open OnDemand documentation.