Configure plans
In Datalore On-Premises, plans allow you to limit resources that are available to users. Plans can be assigned to individual users or user groups.
You can use plans to control:
Computation time per agent type
Disk space per user
Number of instances running in parallel per user
Access to specific machine types, including GPU machines
Configure plans
To configure user plans:
Create a plan configuration file, such as plans.yaml.
In the configuration file, add definitions for all your plans:
- planId: "<plan_id>" default: true name: "<plan_name>" instanceDurationQuotaMap: <agent_id>: "<computation_time>" ... diskUsageLimit: "<disk_size>" numRunningInstancesLimit: <number> ...The plan definition has the following fields:
Field
Description
planIdUnique plan ID.
defaultOptional. Set to
truefor the default plan.nameHuman-readable plan name shown in the UI.
instanceDurationQuotaMapMonthly computation time quota for each agent type. Keys must match agent IDs, and values must use the
PnDTnHnMnSduration format.diskUsageLimitDisk space limit per user in the
<number>.00 GBformat.numRunningInstancesLimitMaximum number of instances running in parallel per user.
Mount the configuration file into the Datalore container:
services: datalore: ... volumes: ... - "/home/user/datalore/plans.yaml:/opt/datalore/configs/plans.yaml"In the docker-compose.yaml file, add the path to the configuration file to the
DATALORE_PLANS_CONFIGURATIONvariable in theenvironmentblock as in the following example:services: datalore: ... environment: ... DATALORE_PLANS_CONFIGURATION: "file:/opt/datalore/configs/plans.yaml"
In datalore.values.yaml, add definitions for all your plans with one plan per block in the
plansConfigsection:... plansConfig: - planId: "<plan_id>" default: true name: "<plan_name>" instanceDurationQuotaMap: <agent_id>: "<computation_time>" ... diskUsageLimit: "<disk_size>" numRunningInstancesLimit: <number> ...The plan definition has the following fields:
Field
Description
planIdUnique plan ID.
defaultOptional. Set to
truefor the default plan.nameHuman-readable plan name shown in the UI.
instanceDurationQuotaMapMonthly computation time quota for each agent type. Keys must match agent IDs, and values must use the
PnDTnHnMnSduration format.diskUsageLimitDisk space limit per user in the
<number>.00 GBformat.numRunningInstancesLimitMaximum number of instances running in parallel per user.
Control GPU machine usage with plans
You can control which users can access GPU machines resources by creating plans that have or do not have access to GPU machines and assigning them to users accordingly.
For example, if you want to allow only some users to have access to GPUs, configure plans as follows:
Configure two agent instances: one with access to GPUs and the other without.
In the plan configuration file, create two plans:
A plan with two entries in
instanceDurationQuotaMap, specifying quotas for both instances.A plan with one entry in
instanceDurationQuotaMap, referencing only the instance without access to GPUs.
Users with the second plan will be able to use only CPU resources.
Assign the plans to users either individually or through a group plan.
Configure two agent instances: one with access to GPUs and the other without.
In the
plansConfigsection, create two plans:A plan with two entries in
instanceDurationQuotaMap, specifying quotas for both instances.A plan with one entry in
instanceDurationQuotaMap, referencing only the instance without access to GPUs.
Users with the second plan will be able to use only CPU resources.
Assign the plans to users either individually or through a group plan.
- Duration format
The computation time is specified in the
PnDTnHnMnSduration format where:P: mandatory first characternD(optional): number of days (day = 24 hours)T: required when specifying time (hours, minutes, or seconds)nH(optional): number of hoursnM(optional): number of minutesnS(optional): number of seconds with a fractional part
Examples:
PT20.345S: 20.345 secondsPT15M: 15 minutesPT10H: 10 hoursP2D: 2 daysP2DT3H4M: 2 days, 3 hours, and 4 minutes