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
11 changes: 2 additions & 9 deletions helm-chart/renku-core/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
{{- range $version := .Values.versions }}
{{- $queuesWithVersion := dict "datasetqueues" (list) "managementqueues" (list) -}}
{{- range $queue := (split "," $.Values.datasetsWorkerQueues) -}}
{{- $var := printf "%s.%s" $version.name $queue | append $queuesWithVersion.datasetqueues | set $queuesWithVersion "datasetqueues" -}}
{{- end }}
{{- range $queue := (split "," $.Values.managementWorkerQueues) -}}
{{- $var := printf "%s.%s" $version.name $queue | append $queuesWithVersion.managementqueues | set $queuesWithVersion "managementqueues" -}}
{{- end }}
---
apiVersion: apps/v1
kind: Deployment
Expand Down Expand Up @@ -199,7 +192,7 @@ spec:
- name: RENKU_SVC_CLEANUP_INTERVAL
value: {{ $.Values.cleanupInterval | quote }}
- name: RENKU_SVC_WORKER_QUEUES
value: {{ join "," $queuesWithVersion.datasetqueues }}
value: {{ $.Values.datasetsWorkerQueues}}
- name: RENKU_SVC_CLEANUP_TTL_FILES
value: {{ $.Values.cleanupFilesTTL | quote }}
- name: RENKU_SVC_CLEANUP_TTL_PROJECTS
Expand Down Expand Up @@ -255,7 +248,7 @@ spec:
- name: RENKU_SVC_CLEANUP_INTERVAL
value: {{ $.Values.cleanupInterval | quote }}
- name: RENKU_SVC_WORKER_QUEUES
value: {{ join "," $queuesWithVersion.managementqueues }}
value: {{ $.Values.managementWorkerQueues }}
- name: RENKU_SVC_CLEANUP_TTL_FILES
value: {{ $.Values.cleanupFilesTTL | quote }}
- name: RENKU_SVC_CLEANUP_TTL_PROJECTS
Expand Down
2 changes: 1 addition & 1 deletion helm-chart/renku-core/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ versions:
fullnameOverride: ""
image:
repository: renku/renku-core
tag: "v1.11.3"
tag: "v1.11.4"
pullPolicy: IfNotPresent
podSecurityContext:
runAsUser: 1000
Expand Down
10 changes: 5 additions & 5 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ marshmallow = { version = ">=3.18.0,<3.20.0", optional = true }
marshmallow-oneofschema = { version = ">=3.0.1,<4.0.0", optional = true }
pillow = { version = ">=9.0.0,<9.6", optional = true }
python-dotenv = { version = ">=0.19.0,<0.21.0", optional = true }
redis = { version = ">=3.5.3,<4.6.0", optional = true }
redis = { version = ">=3.5.3,<4.6.0,!=4.5.5", optional = true }
rq = { version = "==1.15.0", optional = true }
rq-scheduler = { version = "==0.13.1", optional = true }
sentry-sdk = { version = ">=1.5.11,<1.26.0", extras = ["flask"], optional = true }
Expand Down
11 changes: 10 additions & 1 deletion renku/ui/service/cache/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,22 @@
# limitations under the License.
"""Renku service cache configuration."""
import os
import platform
import socket
import uuid

container_name = platform.node()
if not container_name:
container_name = socket.gethostname()
if not container_name:
container_name = uuid.uuid4().hex # NOTE: Fallback if no hostname could be determined

REDIS_HOST = os.getenv("REDIS_HOST", "localhost")
REDIS_PORT = int(os.getenv("REDIS_PORT", 6379))
REDIS_DATABASE = int(os.getenv("REDIS_DATABASE", 0))
REDIS_PASSWORD = os.getenv("REDIS_PASSWORD")

REDIS_NAMESPACE = os.getenv("REDIS_NAMESPACE")
REDIS_NAMESPACE = os.getenv("REDIS_NAMESPACE", "") + container_name

REDIS_IS_SENTINEL = os.environ.get("REDIS_IS_SENTINEL", "") == "true"
REDIS_MASTER_SET = os.environ.get("REDIS_MASTER_SET", "mymaster")
5 changes: 5 additions & 0 deletions renku/ui/service/controllers/api/mixins.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,11 @@ def execute_op(self):
project = Project.get(
(Project.user_id == self.user_data["user_id"]) & (Project.git_url == self.context["git_url"])
)

if not project.abs_path.exists():
project.delete()
raise ValueError("Project found in redis but missing on disk.")

except ValueError:
from renku.ui.service.controllers.cache_project_clone import ProjectCloneCtrl

Expand Down
5 changes: 3 additions & 2 deletions renku/ui/service/controllers/templates_create_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,10 @@ def setup_template(self):
self.template_version = repository.head.commit.hexsha

# Verify missing parameters
template_parameters = {p.name for p in self.template.parameters}
template_parameters = {p.name: p for p in self.template.parameters}
provided_parameters = {p["key"]: p["value"] for p in self.ctx["parameters"]}
missing_keys = list(template_parameters - provided_parameters.keys())
missing_keys = list(template_parameters.keys() - provided_parameters.keys())
missing_keys = [k for k in missing_keys if not template_parameters[k].has_default]
if len(missing_keys) > 0:
raise UserProjectCreationError(error_message=f"the template requires a value for '${missing_keys[0]}'")

Expand Down
9 changes: 5 additions & 4 deletions renku/ui/service/worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
from sentry_sdk.integrations.rq import RqIntegration

from renku.core.errors import ConfigurationError, UsageError
from renku.ui.service.cache.config import REDIS_NAMESPACE
from renku.ui.service.config import SENTRY_ENABLED, SENTRY_SAMPLERATE
from renku.ui.service.jobs.queues import QUEUES, WorkerQueues
from renku.ui.service.logger import DEPLOYMENT_LOG_LEVEL, worker_log
Expand Down Expand Up @@ -63,12 +64,12 @@ def check_queues(queue_list):

def start_worker(queue_list):
"""Start worker."""
q = [q.strip() for q in queue_list if q.strip()]
q = [f"{REDIS_NAMESPACE}.{q.strip()}" for q in queue_list if q.strip()]
check_queues(q)

worker_log.info(f"working on queues: {queue_list}")
worker_log.info(f"working on queues: {q}")

with worker(queue_list) as rq_worker:
with worker(q) as rq_worker:
worker_log.info("running worker")
rq_worker.work(logging_level=DEPLOYMENT_LOG_LEVEL)

Expand All @@ -82,4 +83,4 @@ def start_worker(queue_list):
"Worker queues not specified. Please, set RENKU_SVC_WORKER_QUEUES environment variable."
)

start_worker([queue_name.strip() for queue_name in queues.strip().split(",")])
start_worker([f"{REDIS_NAMESPACE}.{queue_name.strip()}" for queue_name in queues.strip().split(",")])