Skip to content

minor improvements to auto_compute_allocation README.md #716

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 20 additions & 13 deletions coldfront/plugins/auto_compute_allocation/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# auto\_compute\_allocation - A plugin to create an automatically assigned compute allocation

Coldfront django plugin providing capability to create an automatically assigned compute allocation (a coldfront project resource allocation mapping to an HPC Cluster resource or multiple such resources).
Coldfront django plugin providing capability to create an automatically assigned compute allocation (a Coldfront project resource allocation mapping to an HPC Cluster resource or multiple such resources).

The motivation for using this plugin is to use Coldfront as the source of truth. This might be in contrast to another operating modality where information is [generally] imported from another system into Coldfront to provide allocations.
<b>The motivation for using this plugin is to use Coldfront as the source of truth</b>. This might be in contrast to another operating modality where information is [generally] imported from another system into Coldfront to provide allocations.

- By using the plugin an allocation to use configured HPC Cluster(s) will be created each time a new project is created, which Coldfront operators simply need to check over and then approve/activate...

This has the benefit of reducing Workload:
This has the benefit of reducing workload:
- Coldfront operators workload is reduced slightly, whilst also providing consistency and accuracy - operators are required to input and do less.
- Another reason might be to reduce PI workload. As on a free-at-the-point of use system, its likely that all projects simply get granted a compute allocation and therefore a slurm association to be able to use the HPC Cluster(s). The PI will automatically have the allocation created by Coldfront itself.

Expand Down Expand Up @@ -71,22 +71,29 @@ PROJECT_CODE_PADDING=4
```


**Required Plugin load:**

| Option | Type | Default | Description |
|--- | --- | --- | --- |
| `PLUGIN_AUTO_COMPUTE_ALLOCATION` | Bool | False, not defined | Enable the plugin, required to be set as True (bool). |


Next the environment variables for the plugin itself, here are the descriptions and defaults.

### Auto_Compute_Allocation Plugin optional variables

All variables for this plugin are currently **optional**.

| Option | Default | Description |
|--- | --- | --- |
| `AUTO_COMPUTE_ALLOCATION_CORE_HOURS` | `int`, 0 | Optional, number of core hours to provide on the allocation, if 0 then this functionality is not triggered and no core hours will be added |
| `AUTO_COMPUTE_ALLOCATION_CORE_HOURS_TRAINING` | `int`, 0 | Optional, number of core hours to provide on the allocation, if 0 then this functionality is not triggered and no core hours will be added. This applies to projects which select 'Training' as their field of science discipline. |
| `AUTO_COMPUTE_ALLOCATION_END_DELTA` | `int`, 365 | Optional, number of days from creation of the allocation to expiry, default 365 to align with default project duration of 1 year |
| `AUTO_COMPUTE_ALLOCATION_CHANGEABLE` | `bool`, True | Optional, allows the allocation to have a request logged to change - this might be useful for an extension |
| `AUTO_COMPUTE_ALLOCATION_LOCKED` | `bool`, False | Optional, prevents the allocation from being modified by admin - this might be useful for an extensions |
| `AUTO_COMPUTE_ALLOCATION_FAIRSHARE_INSTITUTION` | `bool`, False | Optional, provides an institution based slurm fairshare attribute, requires that the _institution feature_ is setup correctly |
| `AUTO_COMPUTE_ALLOCATION_CLUSTERS` | `tuple`, empty () | Optional, filter for clusters to automatically allocate on - example value ``AUTO_COMPUTE_ALLOCATION_CLUSTERS=(Cluster1,Cluster4)`` |
| ``AUTO_COMPUTE_ALLOCATION_DESCRIPTION`` | `str`, "auto\|Cluster\|" | Optionally control the produced description for the allocation and its delimiters within. The _project_code_ will always be appended. Example resultant description: ``auto\|Cluster\|CDF0001`` |
| Option | Type | Default | Description |
|--- | --- | --- | --- |
| `AUTO_COMPUTE_ALLOCATION_CORE_HOURS` | int | 0 | Optional, number of core hours to provide on the allocation, if 0 then this functionality is not triggered and no core hours will be added |
| `AUTO_COMPUTE_ALLOCATION_CORE_HOURS_TRAINING` | int | 0 | Optional, number of core hours to provide on the allocation, if 0 then this functionality is not triggered and no core hours will be added. This applies to projects which select 'Training' as their field of science discipline. |
| `AUTO_COMPUTE_ALLOCATION_END_DELTA` | int | 365 | Optional, number of days from creation of the allocation to expiry, default 365 to align with default project duration of 1 year |
| `AUTO_COMPUTE_ALLOCATION_CHANGEABLE` | bool | True | Optional, allows the allocation to have a request logged to change - this might be useful for an extension |
| `AUTO_COMPUTE_ALLOCATION_LOCKED` | bool | False | Optional, prevents the allocation from being modified by admin - this might be useful for an extensions |
| `AUTO_COMPUTE_ALLOCATION_FAIRSHARE_INSTITUTION` | bool | False | Optional, provides an institution based slurm fairshare attribute, requires that the _institution feature_ is setup correctly |
| `AUTO_COMPUTE_ALLOCATION_CLUSTERS` | tuple | empty () | Optional, filter for clusters to automatically allocate on - example value ``AUTO_COMPUTE_ALLOCATION_CLUSTERS=(Cluster1,Cluster4)`` |
| ``AUTO_COMPUTE_ALLOCATION_DESCRIPTION`` | str | "auto\|Cluster\|" | Optionally control the produced description for the allocation and its delimiters within. The _project_code_ will always be appended. Example resultant description: ``auto\|Cluster\|CDF0001`` |



Expand Down