HPC Resource Allocation System
Clone or download
Latest commit ad8dfe9 Nov 21, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
coldfront Fix parser bug Nov 21, 2018
.gitignore Add classification for pip Oct 29, 2018
AUTHORS.md Update Oct 3, 2018
CHANGELOG.md Update changelog Oct 12, 2018
LICENSE First Commit Jul 31, 2018
README.md Refactor code to use coldfront python module namespace Oct 22, 2018
manage.py Make coldfront installable via pip Oct 24, 2018
requirements.txt Update requirements Oct 23, 2018
setup.py Update license Oct 29, 2018

README.md

Coldfront - Resource Allocation System

Coldfront is an open source resource allocation system designed to provide a central portal for administration, reporting, and measuring scientific impact of HPC resources. Coldfront was created to help HPC centers manage access to a diverse set of resources across large groups of users and provide a rich set of extensible meta data for comprehensive reporting. Coldfront is written in Python and released under the GPLv3 license.

Features

  • Allocation/Subscription based system for managing access to resources
  • Collect Project, Grant, and Publication data from users
  • Define custom attributes on resources and subscriptions
  • Email notifications for expiring/renewing access to resources
  • Integration with 3rd party systems for automation and access control
  • Center director approval system and annual project reviews

Quick Install

  1. Coldfront requires Python 3.6, memcached, and redis.

CentOS (7.5)

Install EPEL then install required packages:

sudo yum install epel-release
sudo yum install python36 python36-devel memcached redis

Ubuntu (16.04)

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6 python3.6-venv memcached redis-server
  1. Clone Coldfront in a new directory and create a Python virtual environment for Coldfront
mkdir coldfront_app
cd coldfront_app
git clone https://github.com/ubccr/coldfront.git
python3.6 -mvenv venv
  1. Activate the virtual environment and install the required Python packages
source venv/bin/activate
cd coldfront
pip install wheel
pip install -r requirements.txt

  1. Copy config/local_settings.py.sample to config/local_settings.py.
cp config/local_settings.py.sample config/local_settings.py

Open config/local_settings.py and update the following:

  • Update SECRET_KEY. Consider making the length at least 50 characters long.
  • Update TIME_ZONE if necessary
  1. Copy config/local_strings.py.sample to config/local_strings.py and update if desired.
cp config/local_strings.py.sample config/local_strings.py
  1. Run initial setup
python manage.py initial_setup
  1. Setup an admin user
python manage.py createsuperuser
  1. Optional: Add some test data
python manage.py load_test_data
  1. Start development server
python manage.py runserver 0.0.0.0:8000
  1. Point your browser to http://localhost:8000

You can log in as admin with password test1234. You can log in as a PI using username ccollins with password test1234. You can log in as center director using username michardson with password test1234.

Password for all users is also teset1234.

Directory structure

  • coldfront
    • core - The core Coldfront application
      • field_of_science
      • grant
      • portal
      • project
      • publication
      • resource
      • subscription
      • user
      • utils
    • libs - Helper libraries
    • plugins - Plugins that can be configured in Coldfront
      • freeipa
      • iquota
      • ldap_user_search
      • mokey_oidc
      • slurm
      • system_monitor

License

Coldfront is released under the GPLv3 license. See the LICENSE file.