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.
- 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
Submit a PR to add your plugin to the list above.
For more information on installing and using ColdFront see our documentation here
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
ColdFront is released under the GPLv3 license. See the LICENSE file.
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
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
.
- Go to the root of the
coldfront-wustl-fork
repo. - Create a (Python) virtual environment:
python3 -mvenv coldfront-venv
- Activate the virtual environment:
source coldfront-venv/bin/activate
- Install the dependencies
pip install --upgrade pip
pip install -r requirements-dev.txt
- 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 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=