Web interface to show nodes, queues and jobs on a HPCC using PBS Pro
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
static Initial commit of code. Jan 23, 2019
tests Initial commit of code. Jan 23, 2019
views Initial commit of code. Jan 23, 2019
.gitignore Initial commit of code. Jan 23, 2019
INSTALL.md Moved install details to separate file. Feb 4, 2019
LICENSE
README.md Moved install details to separate file. Feb 4, 2019
install.sh Initial commit of code. Jan 23, 2019
pbs.i Initial commit of code. Jan 23, 2019
pbsutils.py Initial commit of code. Jan 23, 2019
pbsweb.ini
pbsweb.py
pbsweb_screenshot.png Updated README & added screenshot. Jan 23, 2019
requirements.txt Initial commit of code. Jan 23, 2019
swig_compile_pbs.sh Initial commit of code. Jan 23, 2019

README.md

README

Introduction

This small web application provides a simple web view of the nodes, queues and jobs on a High Performance Computer Cluster (HPCC) running the PBS batch scheduling system. It was developed using PBS Professional but should also work with the open source PBS. General information on PBS can be found at its Wikipedia entry: Portable Batch System and the PBS Professional Open Source Project homepage.

Screenshot showing PBSWeb
Screenshot showing the web application.

Files and Directories

Files:

pbsweb.py               The main pbsweb application.
pbsutils.py             Module containing utility functions for the pbsweb application.
swig_compile_pbs.sh     Run this to create _pbs.so
pbs.i                   Used by swig_compile_pbs.sh
requirements.txt        Python requirements file.
pbsweb.ini              Example uWSGI file for this app.
install.sh              Installs files into production.

tests/test_pbs_jobs.py         Prints the current jobs and their attributes. 
tests/test_pbs_nodes_all.py    Prints all nodes and their attributes. 
tests/test_pbs_queues.py       Prints the queues and their attributes.

Directories:

static/  Contains static resources like stylesheets.
views/   Contains templates for the pbsweb bottle application.
tests/   Contains all the tests.

Software Required

  • PBS Professional commercial or open source You will need the file pbs_ifl.h from your PBS installation.
  • gcc
  • openssl-devel
  • SWIG - Software Wrapper and Interface Generator
  • Python development packages
  • Python virtual environment with:
    • bottle Bottle micro web framework
    • Jinja2 Jinja2 templating engine
    • uWSGI To run the web app
  • apache or nginx

Details are provided in the Installation Notes.

License

Copyright University of Technology Sydney. This software is released under the GNU General Public License, either version 3 of the License, or (at your option) any later version. See the file LICENSE for details.

References

Information on the "Batch Interface Library" can be found in the "PBS Professional® Programmer's Guide". See the section "Batch Interface Library". This is the primary API to communicate with the PBS MoM.

Bottle Python Web Framework: https://bottlepy.org/docs/0.12/

SWIG Tutorial: http://www.swig.org/tutorial.html