Skip to content

WashU-IT-RIS/coldfront-wustl-fork

 
 

Repository files navigation

ColdFront

ColdFront - Resource Allocation System

Documentation Status

ColdFront is an open source resource and allocation management system designed to provide a central portal for administration, reporting, and measuring scientific impact of cyberinfrastructure resources. ColdFront was created to help high performance computing (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. The flexiblity of ColdFront allows centers to manage and automate their policies and procedures within the framework provided or extend the functionality with plugins. ColdFront is written in Python and released under the GPLv3 license.

Features

  • Allocation based system for managing access to resources
  • Self-service portal for users to request access to resources for their research group
  • Collection of Project, Grant, and Publication data from users
  • Center director approval system and annual project review process
  • Email notifications for expiring/renewing access to resources
  • Ability to define custom attributes on resources and allocations
  • Integration with 3rd party systems for automation, access control, and other system provisioning tasks

Read more

Community Supported Plugins

Submit a PR to add your plugin to the list above.

Documentation

For more information on installing and using ColdFront see our documentation here

Contact Information

If you would like a live demo followed by QA, please contact us at ccr-coldfront-admin-list@listserv.buffalo.edu. You can also contact us for general inquiries and installation troubleshooting.

If you would like to join our mailing list to receive news and updates, please send an email to listserv@listserv.buffalo.edu with no subject, and the following command in the body of the message:

subscribe ccr-open-coldfront-list@listserv.buffalo.edu first_name last_name

License

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

Testing

Setup

To run tests, the following variables should be included in a .env file in the root directory of the repo:

PLUGIN_QUMULO=True
AD_SERVER_NAME=foo
AD_USERNAME=bar
AD_USER_PASS=bah
STORAGE2_PATH=/foo/bar

Running

A complete test suite can be run with manage.py test. You can target sub-groups of tests by including a specifying argument. Ex: manage.py.test coldfront.plugins.qumulo.tests will run only unit tests for the qumulo plugin.

Typically, you'll want to run non integration tests separately, which can be done with python manage.py test --exclude-tag integration. Integrations can be run with python manage.py test --tag integration.

Set up Local Environment and Run tests

  1. Go to the root of the coldfront-wustl-fork repo.
  2. Create a (Python) virtual environment: python3 -mvenv coldfront-venv
  3. Activate the virtual environment: source coldfront-venv/bin/activate
  4. Install the dependencies
pip install --upgrade pip
pip install -r requirements-dev.txt
  1. Run a test to verify the installation: python manage.py test coldfront.plugins.qumulo.tests

Steps for local development

python3 -mvenv coldfront-venv
source coldfront-venv/bin/activate
pip install --upgrade pip
pip install -r requirements-dev.txt
python manage.py test coldfront.plugins.qumulo.tests

Integration Test ENV

Integration Tests need to be run while connected to a VPN. The following variables need to be included for functioning integration tests. Credentials should be stored in the pass store.

PLUGIN_QUMULO=True
QUMULO_HOST=
QUMULO_PORT=
QUMULO_USER=
QUMULO_PASS=
DEBUG=TRUE
AD_USER_PASS=
AD_USERNAME=
AD_SERVER_NAME=
AD_GROUPS_OU=OU=QA,OU=RIS,OU=Groups,DC=accounts,DC=ad,DC=wustl,DC=edu
STORAGE2_PATH=

Releases

No releases published

Packages

No packages published

Languages

  • Python 84.0%
  • HTML 15.0%
  • Other 1.0%