From d42de92d7506ebcb1d5262c08622d2d29af7c2d6 Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Thu, 30 May 2024 12:59:21 -0700 Subject: [PATCH] QA analysis scale configurable in helm chart (#1843) - allow configuring QA run scale via 'qa_scale' setting in helm values (overriding any setting on the qa crawljob) - adds additional comments to browser instances helm values settings for clarity - fixes #1842 --- backend/btrixcloud/operator/crawls.py | 3 +++ chart/templates/configmap.yaml | 2 ++ chart/values.yaml | 9 ++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/backend/btrixcloud/operator/crawls.py b/backend/btrixcloud/operator/crawls.py index 3f1a9ef9..9962c827 100644 --- a/backend/btrixcloud/operator/crawls.py +++ b/backend/btrixcloud/operator/crawls.py @@ -146,6 +146,9 @@ class CrawlOperator(BaseOperator): qa_source_crawl_id=spec.get("qaSourceCrawlId"), ) + if crawl.qa_source_crawl_id: + crawl.scale = int(params.get("qa_scale", 1)) + # if finalizing, crawl is being deleted if data.finalizing: if not status.finished: diff --git a/chart/templates/configmap.yaml b/chart/templates/configmap.yaml index c7c21351..dfd6bd93 100644 --- a/chart/templates/configmap.yaml +++ b/chart/templates/configmap.yaml @@ -128,6 +128,8 @@ data: profile_browser_workdir_size: "{{ .Values.profile_browser_workdir_size | default "4Gi" }}" + qa_scale: "{{ .Values.qa_scale | default 1 }}" + crawler_node_type: "{{ .Values.crawler_node_type }}" redis_node_type: "{{ .Values.redis_node_type }}" diff --git a/chart/values.yaml b/chart/values.yaml index f9aa968c..14cb21b9 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -232,9 +232,16 @@ crawler_cpu_base: 900m # base memory per for 1 browser crawler_memory_base: 1024Mi -# number of browsers per crawler instances +# number of browser workers per crawler instances crawler_browser_instances: 2 +# number of browser workers per crawler instances for QA runs +# defaults to 'crawler_browser_instances' if not set +# qa_browser_instances: 2 + +# fixed scale (number of crawler pods) for QA runs +qa_scale: 1 + # this value is added to crawler_cpu_base, for each additional browser # crawler_cpu = crawler_cpu_base + crawler_pu_per_extra_browser * (crawler_browser_instances - 1) crawler_extra_cpu_per_browser: 600m