From 1f029492d693a6a08ae44d731efecea195a7062d Mon Sep 17 00:00:00 2001 From: Robert Detjens Date: Tue, 16 Dec 2025 16:17:26 -0800 Subject: [PATCH 1/3] Remove values options that don't exist These options are set under `controller.javaArgs` and `controller.resources` and are not top-level options. Signed-off-by: Robert Detjens --- production/values.yaml | 11 ----------- staging/values.yaml | 11 ----------- 2 files changed, 22 deletions(-) diff --git a/production/values.yaml b/production/values.yaml index e8338be..9a973b3 100644 --- a/production/values.yaml +++ b/production/values.yaml @@ -449,17 +449,6 @@ jenkins: hosts: - jenkins.opensearch.cluster.linuxfound.info - # Defining resource requests and limits for the production environment. - resources: - requests: - cpu: "2000m" - memory: "4Gi" - limits: - cpu: "4000m" - memory: "8Gi" - - jenkinsJavaOpts: "-Xms2g -Xmx6g" - persistence: enabled: true storageClass: "auto-ebs-sc" diff --git a/staging/values.yaml b/staging/values.yaml index 18aed43..8f1300f 100644 --- a/staging/values.yaml +++ b/staging/values.yaml @@ -525,17 +525,6 @@ jenkins: hosts: - jenkins-stag.opensearch.cluster.linuxfound.info - # Defining resource requests and limits for the staging environment. - resources: - requests: - cpu: "1000m" - memory: "2Gi" - limits: - cpu: "2000m" - memory: "4Gi" - - jenkinsJavaOpts: "-Xms1g -Xmx2g" - persistence: enabled: true storageClass: "auto-ebs-sc" From be0adda3487d600adb8185a485f22e8f48dcad20 Mon Sep 17 00:00:00 2001 From: Robert Detjens Date: Tue, 16 Dec 2025 16:18:14 -0800 Subject: [PATCH 2/3] Bump production Jenkins pod resources to match current instance size The current OpenSearch Jenkins controller node is a c5.9xlarge (36c, 72GB). with a 100GB disk. This bumps the Jenkins controller pod resource requests to match that, less a bit to let it fit within a 9xlarge Kubernetes node after the K8S node system-reserved resource overhead. This also bumps the Java min/max heap size flags to use this higher memory, but this is a guess and should probably be tuned later. Signed-off-by: Robert Detjens --- production/values.yaml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/production/values.yaml b/production/values.yaml index 9a973b3..552560e 100644 --- a/production/values.yaml +++ b/production/values.yaml @@ -308,15 +308,17 @@ jenkins: - name: "Default" home: "git" - # Resource allocation for production environment - # Higher resource limits appropriate for production workloads + # Resource allocation for production environment. Matches size of previous + # c5.9xlarge controller instance (36 cpu, 72GB mem), slightly downscaled to + # account for Kubernetes's cut of node resources. + # (https://github.com/opensearch-project/opensearch-ci/blob/1.5.0/lib/compute/jenkins-main-node.ts#L121) resources: requests: - cpu: "2000m" - memory: "4Gi" + cpu: 34 + memory: '68Gi' limits: - cpu: "4000m" - memory: "8Gi" + cpu: 36 + memory: '70Gi' # JVM optimization for production environment # Memory settings aligned with resource limits above @@ -326,14 +328,14 @@ jenkins: -XX:+ParallelRefProcEnabled -XX:+DisableExplicitGC -XX:+UnlockExperimentalVMOptions + -XX:+ExplicitGCInvokesConcurrent -XX:G1NewSizePercent=20 -XX:+UnlockDiagnosticVMOptions -XX:G1MixedGCCountTarget=16 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 - -XX:G1HeapRegionSize=32M - -Xmx6g - -XX:MaxMetaspaceSize=512m + -Xms25g + -Xmx50g # Environment variables for Jenkins container (JCasC configuration) # Variables consumed by: base/jenkins/jcasc_yamls/ configuration files @@ -452,4 +454,4 @@ jenkins: persistence: enabled: true storageClass: "auto-ebs-sc" - size: "16Gi" + size: "100Gi" From 0f469e02dac003f4697b99a913943049e4dce8e4 Mon Sep 17 00:00:00 2001 From: Robert Detjens Date: Wed, 17 Dec 2025 10:17:40 -0800 Subject: [PATCH 3/3] Change java heap settings per Anton's recommendation Signed-off-by: Robert Detjens --- production/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/production/values.yaml b/production/values.yaml index 552560e..204c0eb 100644 --- a/production/values.yaml +++ b/production/values.yaml @@ -334,8 +334,8 @@ jenkins: -XX:G1MixedGCCountTarget=16 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 - -Xms25g - -Xmx50g + -Xms4g + -Xmx16g # Environment variables for Jenkins container (JCasC configuration) # Variables consumed by: base/jenkins/jcasc_yamls/ configuration files