Skip to content

Commit 8a4bb95

Browse files
feat(api): add kubernetes_queue to API client (#504)
Closes reanahub/reana-job-controller#493
1 parent cbdd7ab commit 8a4bb95

File tree

5 files changed

+51
-1
lines changed

5 files changed

+51
-1
lines changed

AUTHORS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ The list of contributors in alphabetical order:
99
- [Audrius Mecionis](https://orcid.org/0000-0002-3759-1663)
1010
- [Bruno Rosendo](https://orcid.org/0000-0002-0923-3148)
1111
- [Burt Holzman](https://orcid.org/0000-0001-5235-6314)
12+
- [Cameron McClymont](https://orcid.org/0009-0002-0176-5251)
1213
- [Camila Diaz](https://orcid.org/0000-0001-5543-797X)
1314
- [Clemens Lange](https://orcid.org/0000-0002-3632-3157)
1415
- [Daan Rosendal](https://orcid.org/0000-0002-3447-9000)

reana_commons/api_client.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ def submit( # noqa: C901
100100
kerberos=False,
101101
kubernetes_uid=None,
102102
kubernetes_memory_limit=None,
103+
kubernetes_queue=None,
103104
unpacked_img=False,
104105
voms_proxy=False,
105106
rucio=False,
@@ -129,6 +130,7 @@ def submit( # noqa: C901
129130
:param rucio: Decides if a rucio environment should be provided for job.
130131
:param kubernetes_uid: Overwrites the default user id in the job container.
131132
:param kubernetes_memory_limit: Overwrites the default memory limit in the job container.
133+
:param kubernetes_queue: Kueue LocalQueue to submit the job to.
132134
:param unpacked_img: Decides if unpacked iamges should be used.
133135
:param htcondor_max_runtime: Maximum runtime of a HTCondor job.
134136
:param htcondor_accounting_group: Accounting group of a HTCondor job.
@@ -169,6 +171,9 @@ def submit( # noqa: C901
169171
if kubernetes_memory_limit:
170172
job_spec["kubernetes_memory_limit"] = kubernetes_memory_limit
171173

174+
if kubernetes_queue:
175+
job_spec["kubernetes_queue"] = kubernetes_queue
176+
172177
if kubernetes_job_timeout is not None:
173178
job_spec["kubernetes_job_timeout"] = kubernetes_job_timeout
174179

reana_commons/openapi_specifications/reana_job_controller.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@
8585
"kubernetes_memory_limit": {
8686
"type": "string"
8787
},
88+
"kubernetes_queue": {
89+
"type": "string"
90+
},
8891
"kubernetes_uid": {
8992
"format": "int32",
9093
"type": "integer"

reana_commons/openapi_specifications/reana_server.json

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"info": {
33
"description": "Submit workflows to be run on REANA Cloud",
44
"title": "REANA Server",
5-
"version": "0.95.0a2"
5+
"version": "0.95.0a3"
66
},
77
"paths": {
88
"/account/settings/linkedaccounts/": {},
@@ -500,6 +500,17 @@
500500
"title": "Default memory limit for Kubernetes jobs",
501501
"value": "3Gi"
502502
},
503+
"kueue_available_queues": {
504+
"title": "List of local queues available for batch job processing",
505+
"value": [
506+
"local-queue-1",
507+
"local-queue-2"
508+
]
509+
},
510+
"kueue_enabled": {
511+
"title": "Whether Kueue is enabled for batch job processing",
512+
"value": "False"
513+
},
503514
"maximum_kubernetes_jobs_timeout": {
504515
"title": "Maximum timeout for Kubernetes jobs",
505516
"value": "1209600"
@@ -750,6 +761,31 @@
750761
},
751762
"type": "object"
752763
},
764+
"kueue_available_queues": {
765+
"properties": {
766+
"title": {
767+
"type": "string"
768+
},
769+
"value": {
770+
"items": {
771+
"type": "string"
772+
},
773+
"type": "array"
774+
}
775+
},
776+
"type": "object"
777+
},
778+
"kueue_enabled": {
779+
"properties": {
780+
"title": {
781+
"type": "string"
782+
},
783+
"value": {
784+
"type": "string"
785+
}
786+
},
787+
"type": "object"
788+
},
753789
"maximum_interactive_session_inactivity_period": {
754790
"properties": {
755791
"title": {

reana_commons/validation/schemas/reana_analysis_schema.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,11 @@
316316
"title": "Kubernetes memory limit",
317317
"description": "Kubernetes memory limit (e.g. 256Mi - read more about the expected memory values on the official Kubernetes documentation: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory)"
318318
},
319+
"kubernetes_queue": {
320+
"type": "string",
321+
"title": "Kubernetes queue",
322+
"description": "The Kubernetes queue to submit the job to, e.g. the name of a remote Kubernetes cluster."
323+
},
319324
"name": {
320325
"type": "string",
321326
"title": "Step name"

0 commit comments

Comments
 (0)