Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 52 additions & 1 deletion reana_workflow_controller/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,59 @@ def compose_reana_url(hostname: str, hostport: int) -> str:
)
"""Snakemake workflow engine version."""

REANA_KUBERNETES_JOBS_CPU_REQUEST = os.getenv("REANA_KUBERNETES_JOBS_CPU_REQUEST")
"""Default CPU request for user job containers.

Please see the following URL for possible values
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.
"""

REANA_KUBERNETES_JOBS_CPU_LIMIT = os.getenv("REANA_KUBERNETES_JOBS_CPU_LIMIT")
"""Default CPU limit for user job containers.

Please see the following URL for possible values
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.
"""

REANA_KUBERNETES_JOBS_MEMORY_REQUEST = os.getenv("REANA_KUBERNETES_JOBS_MEMORY_REQUEST")
"""Default memory request for user job containers.

Please see the following URL for possible values
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory.
"""

REANA_KUBERNETES_JOBS_MEMORY_LIMIT = os.getenv("REANA_KUBERNETES_JOBS_MEMORY_LIMIT")
"""Maximum default memory limit for user job containers. Exceeding this limit will terminate the container.
"""Default memory limit for user job containers. Exceeding this limit will terminate the container.

Please see the following URL for possible values
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory.
"""

REANA_KUBERNETES_JOBS_MAX_USER_CPU_REQUEST = os.getenv(
"REANA_KUBERNETES_JOBS_MAX_USER_CPU_REQUEST"
)
"""Maximum custom CPU request that users can assign to their job containers via
``kubernetes_cpu_request`` in reana.yaml.

Please see the following URL for possible values
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.
"""

REANA_KUBERNETES_JOBS_MAX_USER_CPU_LIMIT = os.getenv(
"REANA_KUBERNETES_JOBS_MAX_USER_CPU_LIMIT"
)
"""Maximum custom CPU limit that users can assign to their job containers via
``kubernetes_cpu_limit`` in reana.yaml. Exceeding this limit will terminate the container.

Please see the following URL for possible values
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.
"""

REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_REQUEST = os.getenv(
"REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_REQUEST"
)
"""Maximum custom memory request that users can assign to their job containers via
``kubernetes_memory_request`` in reana.yaml.

Please see the following URL for possible values
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory.
Expand Down
32 changes: 31 additions & 1 deletion reana_workflow_controller/workflow_run_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,15 @@
REANA_INTERACTIVE_SESSIONS_ENVIRONMENTS,
REANA_INTERACTIVE_SESSIONS_RECOMMENDED_IMAGES,
REANA_RUNTIME_BATCH_TERMINATION_GRACE_PERIOD,
REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_LIMIT,
REANA_KUBERNETES_JOBS_CPU_REQUEST,
REANA_KUBERNETES_JOBS_CPU_LIMIT,
REANA_KUBERNETES_JOBS_MEMORY_REQUEST,
REANA_KUBERNETES_JOBS_MEMORY_LIMIT,
REANA_KUBERNETES_JOBS_TIMEOUT_LIMIT,
REANA_KUBERNETES_JOBS_MAX_USER_CPU_REQUEST,
REANA_KUBERNETES_JOBS_MAX_USER_CPU_LIMIT,
REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_REQUEST,
REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_LIMIT,
REANA_KUBERNETES_JOBS_MAX_USER_TIMEOUT_LIMIT,
REANA_WORKFLOW_ENGINE_IMAGE_CWL,
REANA_WORKFLOW_ENGINE_IMAGE_SERIAL,
Expand Down Expand Up @@ -765,10 +771,34 @@ def _create_job_spec(
REANA_RUNTIME_KUBERNETES_KEEP_ALIVE_JOBS_WITH_STATUSES
),
},
{
"name": "REANA_KUBERNETES_JOBS_CPU_REQUEST",
"value": REANA_KUBERNETES_JOBS_CPU_REQUEST,
},
{
"name": "REANA_KUBERNETES_JOBS_CPU_LIMIT",
"value": REANA_KUBERNETES_JOBS_CPU_LIMIT,
},
{
"name": "REANA_KUBERNETES_JOBS_MEMORY_REQUEST",
"value": REANA_KUBERNETES_JOBS_MEMORY_REQUEST,
},
{
"name": "REANA_KUBERNETES_JOBS_MEMORY_LIMIT",
"value": REANA_KUBERNETES_JOBS_MEMORY_LIMIT,
},
{
"name": "REANA_KUBERNETES_JOBS_MAX_USER_CPU_REQUEST",
"value": REANA_KUBERNETES_JOBS_MAX_USER_CPU_REQUEST,
},
{
"name": "REANA_KUBERNETES_JOBS_MAX_USER_CPU_LIMIT",
"value": REANA_KUBERNETES_JOBS_MAX_USER_CPU_LIMIT,
},
{
"name": "REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_REQUEST",
"value": REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_REQUEST,
},
{
"name": "REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_LIMIT",
"value": REANA_KUBERNETES_JOBS_MAX_USER_MEMORY_LIMIT,
Expand Down
Loading