diff --git a/reana_commons/openapi_specifications/reana_server.json b/reana_commons/openapi_specifications/reana_server.json index e3500970..96ce8eae 100644 --- a/reana_commons/openapi_specifications/reana_server.json +++ b/reana_commons/openapi_specifications/reana_server.json @@ -429,6 +429,26 @@ "slurmcern" ] }, + "dask_cluster_default_number_of_workers": { + "title": "The number of Dask workers created by default", + "value": "2Gi" + }, + "dask_cluster_default_single_worker_memory": { + "title": "The amount of memory used by default by a single Dask worker", + "value": "2Gi" + }, + "dask_cluster_max_memory_limit": { + "title": "The maximum memory limit for Dask clusters created by users", + "value": "16Gi" + }, + "dask_cluster_max_single_worker_memory": { + "title": "The maximum amount of memory that users can ask for the single Dask worker", + "value": "8Gi" + }, + "dask_enabled": { + "title": "Dask workflows allowed in the cluster", + "value": "False" + }, "default_kubernetes_jobs_timeout": { "title": "Default timeout for Kubernetes jobs", "value": "604800" @@ -479,6 +499,61 @@ }, "type": "object" }, + "dask_cluster_default_number_of_workers": { + "properties": { + "title": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "dask_cluster_default_single_worker_memory": { + "properties": { + "title": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "dask_cluster_max_memory_limit": { + "properties": { + "title": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "dask_cluster_max_single_worker_memory": { + "properties": { + "title": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "dask_enabled": { + "properties": { + "title": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, "default_kubernetes_jobs_timeout": { "properties": { "title": { diff --git a/reana_commons/validation/schemas/reana_analysis_schema.json b/reana_commons/validation/schemas/reana_analysis_schema.json index 1a3bc422..17656151 100644 --- a/reana_commons/validation/schemas/reana_analysis_schema.json +++ b/reana_commons/validation/schemas/reana_analysis_schema.json @@ -108,6 +108,27 @@ "$id": "/properties/workflow/properties/resources/properties/kerberos", "type": "boolean", "title": "Kerberos authentication for the whole workflow." + }, + "dask": { + "$id": "/properties/workflow/properties/resources/properties/dask", + "type": "object", + "title": "Information about Dask cluster requested for the analysis.", + "properties": { + "image": { + "type": "string", + "description": "Container image to be used by Dask scheduler and workers." + }, + "number_of_workers": { + "type": "number", + "description": "Requested number of Dask workers." + }, + "single_worker_memory": { + "type": "string", + "description": "Requested memory for one Dask worker.", + "pattern": "^[1-9][0-9]*(Ei|Pi|Ti|Gi|Mi|Ki|E|P|T|G|M|K)$" + } + }, + "required": ["image"] } }, "additionalProperties": false