3636 REANA_DASK_CLUSTER_MAX_NUMBER_OF_WORKERS ,
3737 REANA_DASK_CLUSTER_DEFAULT_SINGLE_WORKER_THREADS ,
3838 REANA_DASK_CLUSTER_MAX_SINGLE_WORKER_THREADS ,
39+ KUEUE_ENABLED ,
40+ KUEUE_AVAILABLE_QUEUES ,
41+ KUEUE_DEFAULT_QUEUE ,
3942)
4043from reana_server .decorators import signin_required
4144
@@ -97,6 +100,22 @@ def info(user, **kwargs): # noqa
97100 value:
98101 type: string
99102 type: object
103+ kueue_enabled:
104+ properties:
105+ title:
106+ type: string
107+ value:
108+ type: string
109+ type: object
110+ kueue_available_queues:
111+ properties:
112+ title:
113+ type: string
114+ value:
115+ items:
116+ type: string
117+ type: array
118+ type: object
100119 kubernetes_max_memory_limit:
101120 properties:
102121 title:
@@ -291,6 +310,17 @@ def info(user, **kwargs): # noqa
291310 "title": "Default memory limit for Kubernetes jobs",
292311 "value": "3Gi"
293312 },
313+ "kueue_enabled": {
314+ "title": "Whether Kueue is enabled for batch job processing",
315+ "value": "False"
316+ },
317+ "kueue_available_queues": {
318+ "title": "List of local queues available for batch job processing",
319+ "value": [
320+ "local-queue-1",
321+ "local-queue-2"
322+ ]
323+ },
294324 "kubernetes_max_memory_limit": {
295325 "title": "Maximum allowed memory limit for Kubernetes jobs",
296326 "value": "10Gi"
@@ -419,6 +449,10 @@ def info(user, **kwargs): # noqa
419449 title = "Default memory limit for Kubernetes jobs" ,
420450 value = REANA_KUBERNETES_JOBS_MEMORY_LIMIT ,
421451 ),
452+ kueue_enabled = dict (
453+ title = "Kueue enabled for batch job processing" ,
454+ value = KUEUE_ENABLED ,
455+ ),
422456 kubernetes_max_memory_limit = dict (
423457 title = "Maximum allowed memory limit for Kubernetes jobs" ,
424458 value = REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_LIMIT ,
@@ -479,6 +513,20 @@ def info(user, **kwargs): # noqa
479513 ),
480514 )
481515
516+ if KUEUE_ENABLED :
517+ cluster_information ["kueue_available_queues" ] = dict (
518+ title = "Local queues available for batch job processing" ,
519+ value = [
520+ f"{ queue ["node" ]} -{ queue ["name" ]} ({ queue ['description' ]} )"
521+ for queue in KUEUE_AVAILABLE_QUEUES
522+ ],
523+ )
524+
525+ cluster_information ["kueue_default_queue" ] = dict (
526+ title = "Default queue to send workflow jobs to" ,
527+ value = KUEUE_DEFAULT_QUEUE ,
528+ )
529+
482530 if DASK_ENABLED :
483531 cluster_information ["dask_autoscaler_enabled" ] = dict (
484532 title = "Dask autoscaler enabled in the cluster" ,
@@ -555,7 +603,6 @@ class InfoSchema(Schema):
555603 maximum_interactive_session_inactivity_period = fields .Nested (
556604 StringNullableInfoValue
557605 )
558- kubernetes_max_memory_limit = fields .Nested (StringInfoValue )
559606 interactive_session_recommended_jupyter_images = fields .Nested (ListStringInfoValue )
560607 interactive_sessions_custom_image_allowed = fields .Nested (StringInfoValue )
561608 supported_workflow_engines = fields .Nested (ListStringInfoValue )
@@ -566,6 +613,7 @@ class InfoSchema(Schema):
566613 yadage_engine_packtivity_version = fields .Nested (StringInfoValue )
567614 snakemake_engine_version = fields .Nested (StringInfoValue )
568615 dask_enabled = fields .Nested (StringInfoValue )
616+
569617 if DASK_ENABLED :
570618 dask_autoscaler_enabled = fields .Nested (StringInfoValue )
571619 dask_cluster_default_number_of_workers = fields .Nested (StringInfoValue )
@@ -575,3 +623,7 @@ class InfoSchema(Schema):
575623 dask_cluster_max_number_of_workers = fields .Nested (StringInfoValue )
576624 dask_cluster_default_single_worker_threads = fields .Nested (StringInfoValue )
577625 dask_cluster_max_single_worker_threads = fields .Nested (StringInfoValue )
626+
627+ kueue_enabled = fields .Nested (StringInfoValue )
628+ if KUEUE_ENABLED :
629+ kueue_available_queues = fields .Nested (ListStringInfoValue )
0 commit comments