- View
hpc-toolset-tutorial/coldfront/install.sh
to see how ColdFront is installed - View
hpc-toolset-tutorial/coldfront/coldfront.env
to see how ColdFront is configured - This is where you'd enable or disable any plugins and set variables for your local installation. Check out the full configuration options available in the ColdFront documentation
- View
hpc-toolset-tutorial/coldfront/coldfront-nginx.conf
for an example of ColdFront web configuration
URL https://localhost:2443/
You'll need to login as some of the users for this tutorial to get things started. Do NOT use the OpenID Connect login option at this point.
- Login locally as username
hpcadmin
password:ilovelinux
- Logout
- Login locally as username
cgray
password:test123
- Logout
- Login locally as username
csimmons
password:ilovelinux
- Login locally as username
sfoster
password:ilovelinux
- Login locally as username
admin
password:admin
- Go to Admin menu and click on
ColdFront Administration
Once there, scroll halfway down to theAuthentication and Authorization
section. Then click on theUsers
link. - Click on the hpcadmin user and scroll down to the
Permissions
section - Make this user a
superuser
by checking the boxes next toStaff Status
andSuperuser Status
- scroll to the bottom and click SAVE - Click on the sfoster account and check the box next to
Staff Status
Also under theUser Permissions
section add permissions to make this user the Center Director
allocation | allocation | Can manage invoice
allocation | allocation | Can view all allocations
grant | grant | Can view all grants
project | project | Can view all projects
project | project | Can review pending project reviews
publication | publication | Can view publication
Make sure to SAVE the changes. - Click on the Home link to go to back to the Admin interface, scroll to the bottom of the page under the
User
section and clickUser Profiles
- Click on
cgray
check"Is pi"
- click SAVE
Create a new resource:
- Click on the Home link to go to back to the Admin interface, scroll down near the bottom to the
Resource
section and Click onResources
then click theAdd Resource
button - Add a resource with the following settings:
Resource type: selectcluster
Name: typehpc
Description: enter anything you want Ensure that the following are checked:Is available
,Is public
,Is allocatable
Under the resource attributes section, clickAdd another Resource attribute
and selectslurm_cluster
from the drop down menu. In thevalue
field, enterhpc
ClickAdd another Resource attribute
and selectOnDemand
from the drop down menu. In thevalue
field, enterYes
- Then click SAVE
See more info on the OnDemand plugin at the end
Make an allocation attribute changeable:
- Under the
Allocation
section, click onAllocation Attribute Types
Click onslurm_account_name
check the box next toIs changeable
and then click the SAVE button. - Logout
As the PI user: Request an allocation for the new resource:
- Login as the PI using local account username:
cgray
password:test123
- Click the
Add a project
button to reate a new project, filling in the name, description, and selecting any field of science - Once redirected to the project detail page, request an allocation by clicking on the
Request Resource Allocation
button. Select thehpc
resource from the drop down menu, provide any justification, and click theSubmit
button - Click the
Add Users
button to add a user to the project - search forcsimmons
, select the HPC cluster allocation, check the box next to the username, and click theAdd Selected Users to Project
- Logout
As the HPC admin user, activate and setup the new allocation:
- Login using local account username:
hpcadmin
password:ilovelinux
- Navigate to the
Admin
menu and click onAllocation Requests
- Click on the
Detail
button to configure and activate the allocation:
click theAdd Allocation Attribute
button and select these allocation attributes from the drop down menu:
slurm_account_name
Enter:cgray
slurm_specs
Enter:Fairshare=100:DefaultQOS=normal
slurm_user_specs
Enter:Fairshare=parent:DefaultQOS=normal
Set the status toActive
, set the start date to today, and set the expiration date to the end of this month (you'll see why later)
Click theUpdate
button
- Login to Open OnDemand https://localhost:3443/ as username:
cgray
password:test123
- Click on the
Interactive Apps
menu and click onHPC Desktop
- Try to launch an interactive Job by clicking on the
Launch
button
You will get an error message that you do not have permission to run on the cluster
sbatch: error: Batch job submission failed: Invalid account or account/partition combination specified
This is because we have not synced the allocation information in ColdFront with Slurm yet.
-
Login to the frontend container first, then to the coldfront container:
ssh -p 6222 hpcadmin@localhost
password:ilovelinux
ssh coldfront
cd /srv/www
source venv/bin/activate
-
Let's see what slurm access cgray currently has:
sacctmgr show user cgray -s list
-
Let's see what slurm access csimmons currently has:
sacctmgr show user csimmons -s list
-
Now dump the slurm account/association info from ColdFront's active allocations:
coldfront slurm_dump -c hpc -o ~/slurm_dump
-
Let's see what was created:
ls -al ~/slurm_dump
cat ~/slurm_dump/hpc.cfg
-
Load the slurm dump into slurm database:
sacctmgr load file=~/slurm_dump/hpc.cfg
Type 'Y'
to add the new account & associations for cgray -
Let's look at cgray's slurm account again:
sacctmgr show user cgray -s list
-
Let's look at csimmons's slurm account again:
sacctmgr show user csimmons -s list
NOTE: The csimmons user is under the cgray slurm account -
Logout of ColdFront container
exit
NOTE: you should already be on the frontend but just in case you're not:
ssh -p 6222 hpcadmin@localhost
password: ilovelinux
Check slurm associations for cgray account: they should now show access to the hpc cluster
sacctmgr show account cgray -s list
su - cgray
password: test123
sbatch --wrap "sleep 600"
squeue
(the job should be running on a node)
exit
(logout from cgray account)
- Login back into or refresh your login to Open OnDemand https://localhost:3443/ as username:
cgray
password:test123
- Try to launch an interactive job again. Does it work this time?
- Go to the
Jobs
menu and clickActive Jobs
and click on your running jobs to see more details - Delete (cancel) the jobs so they show the
completed
status
When the project review functionality is enabled (it is by default) a PI will be forced to review their project once every 365 days. To change this time frame, edit the default in coldfront.env
We can force a project to be under review in less than a year which is what we'll do for the cgray project.
Login as hpcadmin
password ilovelinux
Navigate to the Admin
menu and click on the ColdFront Administration
link. Scroll to the Project
section and click on Projects
Then click on the project that we created earlier. Check the box next to Force Review
NOTE: If there is a project you never want project reviews on, uncheck 'Requires review'
-
Logout as
hpcadmin
and login ascgray
passwordtest123
and notice theNeeds Review
label next to the project. Click on the allocation and try to renew it. You should see a warning banner telling you it can't be done because the project review is due. When a project review is required, a PI can't request new allocations or allocation change requests nor renew expiring allocations. They can, however, add/remove users, publications, grants, and research output. Click on therenew now
link for the allocation to test this out. -
Click the
Review Project
link. Provide a reason for not providing grant or publication information, check the box to acknowledge the update and click the Submit button. Now try to renew the expiring allocation. -
Click on the allocation
RENEWAL REQUESTED
button or navigate to the Allocation Detail page through the project. Click on theRequest Change
button, select a date extension, enter a new slurm account and provide a justification. Then click theSUBMIT
button. Logout. -
Login as
hpcadmin
passwordilovelinux
-
Go to the
Admin
menu and click onAllocation Change Requests
-
As the admin you have the ability to approve the date extension, change it to another setting or select
no extension
You can remove theslurm_account_name
request or change it. You can add notes for the PI and users on the allocation to see. Then you can take action such asApprove
orDeny
the request. For this demo, let's click theApprove
button. -
Next review the pending allocation requests. Navigate to the
Admin
menu and click onAllocation Requests
Note that the project review status is pending. -
Logout as the
hpcadmin
user
See more info on allocation change requests at the end
At the start of the tutorial we configured the user sfoster
with the 'Staff Status' role and gave permissions to act as the Center Director. This allows sfoster
to view all projects, allocations, publications, and grants. We've also given permission to view the pending project review list.
-
Login as
sfoster
passwordilovelinux
to see what additional menus and functionality this account has access to. -
Navigate to the
Staff
menu and click onProject Reviews
Click theEmail
button to see this functionality. Go back to theProject Reviews
and clickMark Complete
.
For more options on allowing permissions for various types of staff access, see the ColdFront manual: https://coldfront.readthedocs.io/en/latest/manual/users/
Allocation change requests are turned on by default. This will allow PIs to request date extensions for their allocations. The date ranges default to 30, 60, & 90 days but can be set changed or disabled completely in hpc-toolset-tutorial/coldfront/coldfront.env
See https://coldfront.readthedocs.io/en/latest/config/#coldfront-core-settings for more information.
If you want PIs to be able to request changes to allocation attributes (i.e. storage quotas, unix group) this needs to be set on the allocation attribute. For this demo, we allowed the PI to request changes on the slurm_account
attribute.
This is a very simple example of modifying the ColdFront configuration to use a plugin. This plugin allows us to provide a link to our OnDemand instance for any allocations for resources that have "OnDemand enabled"
We have already added the OnDemand instance URL to the ColdFront config. You can see this outside the containers in your git directory: See hpc-toolset-tutorial/coldfront/coldfront.env
When creating the resource at the start of the tutorial, we added the OnDemand
attribute to the hpc
resource which tells it to display the OnDemand logo and link to the OnDemand URL for any allocations for this resource. Notice on the ColdFront home page next to the allocation for the HPC cluster resource you see the OnDemand logo. Click on the Project name and see this logo also shows up next to the allocation. When we click on that logo, it directs us to the OnDemand instance.
Next - Open XDMoD
Previous Step - Accessing the Applications
Docker Tips
Back to Start