ci: use pod-level Kubernetes resource variables#11811
Draft
orioly13 wants to merge 1 commit into
Draft
Conversation
Replace per-container KUBERNETES_CPU_REQUEST / KUBERNETES_MEMORY_* with pod-level KUBERNETES_POD_* vars in both tier_m and tier_l anchors. Two native-image Gradle builds are updated to read the renamed env var for CPU parallelism sizing. Behavior changes: - Resources now budget the full pod (build + helper + init containers share a single quota) instead of only the build container, reducing the effective per-job cluster footprint. - KUBERNETES_POD_CPU_LIMIT added (no CPU limit existed before); jobs lose burst headroom in exchange for tighter scheduling isolation. Tier_m: 6 CPU / 16Gi. Tier_l: 10 CPU / 20Gi. Feature flag ci.gitlab-runner.enable-pod-level-resources (rule v3) must be enabled for this repo before merging to master. Draft PR opened for pod-spec validation on the flag-enabled branch first. Refs: CIEXE-2021, CIEXE-2150
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates dd-trace-java GitLab CI from per-container Kubernetes resource
variables to pod-level variables, as part of CIEXE-2021
(epic: CIEXE-2150).
Reference: DataDog/datadog-static-analyzer#924
What changed
KUBERNETES_CPU_REQUEST/KUBERNETES_MEMORY_REQUEST/KUBERNETES_MEMORY_LIMITin.tier_mand.tier_lanchors withKUBERNETES_POD_CPU_REQUEST,KUBERNETES_POD_CPU_LIMIT,KUBERNETES_POD_MEMORY_REQUEST,KUBERNETES_POD_MEMORY_LIMIT.quarkus-native,spring-boot-3.0-native) to read the renamed env var.Behavior changes
share one quota) instead of stacking per-container reservations.
KUBERNETES_POD_CPU_LIMITis new — no CPU limit existed before.Jobs lose burst headroom in exchange for tighter scheduling isolation.
Rollout order (flag must precede merge)
ci.gitlab-runner.enable-pod-level-resourcesrule v3 forDataDog/dd-trace-javaat https://mosaic.us1.ddbuild.io/feature-flags/ci.gitlab-runner.enable-pod-level-resources?targeting-rule=v3pod spec — confirm
spec.resourcesshows pod-level budget, containersshow empty resources.
Rollback
Revert merge commit first, then disable flag — not the other way
around. Flag-off while YAML is on master = jobs run with scheduler
defaults = OOM risk on tier_l native-image jobs.