2020from reana_server .config import (
2121 SUPPORTED_COMPUTE_BACKENDS ,
2222 WORKSPACE_RETENTION_PERIOD ,
23+ REANA_KUBERNETES_JOBS_MAX_USER_CPU_REQUEST ,
24+ REANA_KUBERNETES_JOBS_MAX_USER_CPU_LIMIT ,
25+ REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_REQUEST ,
2326 REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_LIMIT ,
27+ REANA_KUBERNETES_JOBS_CPU_REQUEST ,
28+ REANA_KUBERNETES_JOBS_CPU_LIMIT ,
29+ REANA_KUBERNETES_JOBS_MEMORY_REQUEST ,
2430 REANA_KUBERNETES_JOBS_MEMORY_LIMIT ,
2531 REANA_KUBERNETES_JOBS_TIMEOUT_LIMIT ,
2632 REANA_KUBERNETES_JOBS_MAX_USER_TIMEOUT_LIMIT ,
@@ -83,12 +89,37 @@ def info(user, **kwargs): # noqa
8389 value:
8490 type: string
8591 type: object
92+ default_kubernetes_cpu_request:
93+ properties:
94+ title:
95+ type: string
96+ value:
97+ type: string
98+ x-nullable: true
99+ type: object
100+ default_kubernetes_cpu_limit:
101+ properties:
102+ title:
103+ type: string
104+ value:
105+ type: string
106+ x-nullable: true
107+ type: object
108+ default_kubernetes_memory_request:
109+ properties:
110+ title:
111+ type: string
112+ value:
113+ type: string
114+ x-nullable: true
115+ type: object
86116 default_kubernetes_memory_limit:
87117 properties:
88118 title:
89119 type: string
90120 value:
91121 type: string
122+ x-nullable: true
92123 type: object
93124 default_workspace:
94125 properties:
@@ -97,6 +128,30 @@ def info(user, **kwargs): # noqa
97128 value:
98129 type: string
99130 type: object
131+ kubernetes_max_cpu_request:
132+ properties:
133+ title:
134+ type: string
135+ value:
136+ type: string
137+ x-nullable: true
138+ type: object
139+ kubernetes_max_cpu_limit:
140+ properties:
141+ title:
142+ type: string
143+ value:
144+ type: string
145+ x-nullable: true
146+ type: object
147+ kubernetes_max_memory_request:
148+ properties:
149+ title:
150+ type: string
151+ value:
152+ type: string
153+ x-nullable: true
154+ type: object
100155 kubernetes_max_memory_limit:
101156 properties:
102157 title:
@@ -287,10 +342,34 @@ def info(user, **kwargs): # noqa
287342 "slurmcern"
288343 ]
289344 },
345+ "kubernetes_cpu_request": {
346+ "title": "Default CPU request for Kubernetes jobs",
347+ "value": "1"
348+ },
349+ "kubernetes_cpu_limit": {
350+ "title": "Default CPU limit for Kubernetes jobs",
351+ "value": "2"
352+ },
353+ "kubernetes_memory_request": {
354+ "title": "Default memory request for Kubernetes jobs",
355+ "value": "1Gi"
356+ },
290357 "kubernetes_memory_limit": {
291358 "title": "Default memory limit for Kubernetes jobs",
292359 "value": "3Gi"
293360 },
361+ "kubernetes_max_cpu_request": {
362+ "title": "Maximum allowed CPU request for Kubernetes jobs",
363+ "value": "2"
364+ },
365+ "kubernetes_max_cpu_limit": {
366+ "title": "Maximum allowed CPU limit for Kubernetes jobs",
367+ "value": "4"
368+ },
369+ "kubernetes_max_memory_request": {
370+ "title": "Maximum allowed memory request for Kubernetes jobs",
371+ "value": "5Gi"
372+ },
294373 "kubernetes_max_memory_limit": {
295374 "title": "Maximum allowed memory limit for Kubernetes jobs",
296375 "value": "10Gi"
@@ -415,10 +494,34 @@ def info(user, **kwargs): # noqa
415494 title = "List of supported compute backends" ,
416495 value = SUPPORTED_COMPUTE_BACKENDS ,
417496 ),
497+ default_kubernetes_cpu_request = dict (
498+ title = "Default CPU request for Kubernetes jobs" ,
499+ value = REANA_KUBERNETES_JOBS_CPU_REQUEST ,
500+ ),
501+ default_kubernetes_cpu_limit = dict (
502+ title = "Default CPU limit for Kubernetes jobs" ,
503+ value = REANA_KUBERNETES_JOBS_CPU_LIMIT ,
504+ ),
505+ default_kubernetes_memory_request = dict (
506+ title = "Default memory request for Kubernetes jobs" ,
507+ value = REANA_KUBERNETES_JOBS_MEMORY_REQUEST ,
508+ ),
418509 default_kubernetes_memory_limit = dict (
419510 title = "Default memory limit for Kubernetes jobs" ,
420511 value = REANA_KUBERNETES_JOBS_MEMORY_LIMIT ,
421512 ),
513+ kubernetes_max_cpu_request = dict (
514+ title = "Maximum allowed CPU request for Kubernetes jobs" ,
515+ value = REANA_KUBERNETES_JOBS_MAX_USER_CPU_REQUEST ,
516+ ),
517+ kubernetes_max_cpu_limit = dict (
518+ title = "Maximum allowed CPU limit for Kubernetes jobs" ,
519+ value = REANA_KUBERNETES_JOBS_MAX_USER_CPU_LIMIT ,
520+ ),
521+ kubernetes_max_memory_request = dict (
522+ title = "Maximum allowed memory request for Kubernetes jobs" ,
523+ value = REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_REQUEST ,
524+ ),
422525 kubernetes_max_memory_limit = dict (
423526 title = "Maximum allowed memory limit for Kubernetes jobs" ,
424527 value = REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_LIMIT ,
@@ -547,7 +650,13 @@ class InfoSchema(Schema):
547650 workspaces_available = fields .Nested (ListStringInfoValue )
548651 default_workspace = fields .Nested (StringInfoValue )
549652 compute_backends = fields .Nested (ListStringInfoValue )
653+ default_kubernetes_cpu_request = fields .Nested (StringNullableInfoValue )
654+ default_kubernetes_cpu_limit = fields .Nested (StringNullableInfoValue )
655+ default_kubernetes_memory_request = fields .Nested (StringNullableInfoValue )
550656 default_kubernetes_memory_limit = fields .Nested (StringInfoValue )
657+ kubernetes_max_cpu_request = fields .Nested (StringNullableInfoValue )
658+ kubernetes_max_cpu_limit = fields .Nested (StringNullableInfoValue )
659+ kubernetes_max_memory_request = fields .Nested (StringNullableInfoValue )
551660 kubernetes_max_memory_limit = fields .Nested (StringNullableInfoValue )
552661 maximum_workspace_retention_period = fields .Nested (StringNullableInfoValue )
553662 default_kubernetes_jobs_timeout = fields .Nested (StringInfoValue )
0 commit comments