Skip to content

WIP: DPTP-2938: skip authoritative limit decrease for build workload type flag#81763

Open
deepsm007 wants to merge 1 commit into
openshift:mainfrom
deepsm007:pod-scaler-adaptive-authoritative-decrease
Open

WIP: DPTP-2938: skip authoritative limit decrease for build workload type flag#81763
deepsm007 wants to merge 1 commit into
openshift:mainfrom
deepsm007:pod-scaler-adaptive-authoritative-decrease

Conversation

@deepsm007

@deepsm007 deepsm007 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Enable pod-scaler skip for OpenShift build workload limits on build farm admission, as a belt-and-suspenders fix for DPTP-2938 image-build OOMs after authoritative decrease rollout.

Peak usage basis is already enabled (#81759). This PR adds one skip flag so authoritative mode does not lower limits on image build pods (workload type=build). Request decreases remain enabled.

Also comments out explicit dry-run=false lines (default is false); uncomment if we need to validate decreases without applying.

openshift/ci-tools#5307

/cc @openshift/test-platform

Summary by CodeRabbit

  • Updates the OpenShift CI build-farm “pod-scaler-consumer-admission” admission controller configuration in clusters/build-clusters/build-shared/pod-scaler/pod-scaler-admission.yaml so build/image-build workloads during build farm pod admission avoid authoritative CPU/memory limit reductions, while request-side decreases remain active.
  • Reworks the pod-scaler container args by commenting out explicit --authoritative-*-dry-run=false overrides (leaving dry-run behavior to the application defaults), and reorganizes/annotates the authoritative-decrease configuration (max reduction percent and usage-basis=peak), including adding commented guidance for optionally skipping workload-type limit decreases (e.g., build).
  • The OpenShift CI bot confirmed Jira DPTP-2938 is valid (note: no target version set; expected branch version is 5.0.0).

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 10, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

@deepsm007: This pull request references DPTP-2938 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Enable pod-scaler skip for OpenShift build workload limits on build farm admission, as a belt-and-suspenders fix for DPTP-2938 image-build OOMs after authoritative decrease rollout.

Peak usage basis is already enabled (#81759). This PR adds one skip flag so authoritative mode does not lower limits on image build pods (workload type=build). Request decreases remain enabled.

Also comments out explicit dry-run=false lines (default is false); uncomment if we need to validate decreases without applying.

openshift/ci-tools#5307

/cc @openshift/test-platform

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot requested a review from a team July 10, 2026 19:52
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 10, 2026
@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jul 10, 2026
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

The admission pod scaler Deployment arguments are reorganized with comment headings. Explicit authoritative decrease dry-run flags are removed, commented examples and a workload-type skip option are added, and existing reduction parameters remain configured.

Changes

Pod scaler admission configuration

Layer / File(s) Summary
Reorganize admission arguments
clusters/build-clusters/build-shared/pod-scaler/pod-scaler-admission.yaml
Reorders container arguments, removes explicit dry-run false flags, adds commented dry-run and workload-type skip options, and retains authoritative decrease limits and peak usage basis.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: bear-redhat, danilo-gemoli

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed Only a Kubernetes manifest changed; no Ginkgo tests or titles were added or modified.
Test Structure And Quality ✅ Passed No Ginkgo test code changed; the PR only updates a Kubernetes manifest, so this check is not applicable.
Microshift Test Compatibility ✅ Passed PR only changes a pod-scaler YAML manifest; no new Ginkgo/e2e tests or test APIs were added.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PASS: The PR only edits a Kubernetes manifest; no new Ginkgo e2e tests or test code were added, so SNO compatibility review is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed Only container args/comments changed; the Deployment still has the same replicas and nodeSelector, with no affinity, spread, or topology-based scheduling logic.
Ote Binary Stdout Contract ✅ Passed Only a Kubernetes manifest changed; no process-level stdout writes or logging setup code were added or modified.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Only a Kubernetes manifest changed; no new Ginkgo e2e tests or networking code were added, so the IPv6/disconnected check is not applicable.
No-Weak-Crypto ✅ Passed The PR only reorders Kubernetes manifest args and comments; it adds no crypto code, weak algorithms, or secret comparisons.
Container-Privileges ✅ Passed The changed YAML contains no privileged, hostPID/hostNetwork/hostIPC, SYS_ADMIN, or allowPrivilegeEscalation settings; only args/comments were edited.
No-Sensitive-Data-In-Logs ✅ Passed PASS: The diff only reorders deployment args/comments in a YAML manifest; it adds no new logging statements or secret/token/PII-bearing values.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: skipping authoritative limit decreases for build workload types.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@openshift-ci

openshift-ci Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: deepsm007

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 10, 2026
@deepsm007 deepsm007 force-pushed the pod-scaler-adaptive-authoritative-decrease branch 3 times, most recently from 8abb952 to 3470497 Compare July 10, 2026 19:56

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@clusters/build-clusters/build-shared/pod-scaler/pod-scaler-admission.yaml`:
- Around line 101-118: Enable the build-workload protection by uncommenting
--pod-scaler-skip-workload-type-limit-decrease=build alongside the authoritative
limit settings; if the required ci-tools support is unavailable, keep
authoritative CPU and memory limit decreases gated rather than exposing
image-build pods to reductions.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 93238947-bc98-420e-9682-fdb751b1dd31

📥 Commits

Reviewing files that changed from the base of the PR and between 56948da and c367080.

📒 Files selected for processing (1)
  • clusters/build-clusters/build-shared/pod-scaler/pod-scaler-admission.yaml

@deepsm007 deepsm007 force-pushed the pod-scaler-adaptive-authoritative-decrease branch from 3470497 to ea2bdf7 Compare July 10, 2026 19:59
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@deepsm007: no rehearsable tests are affected by this change

Note: If this PR includes changes to step registry files (ci-operator/step-registry/) and you expected jobs to be found, try rebasing your PR onto the base branch. This helps pj-rehearse accurately detect changes when the base branch has moved forward.

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci

openshift-ci Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

@deepsm007: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@deepsm007 deepsm007 changed the title WIP: DPTP-2938: skip authoritative limit decrease for build workload type WIP: DPTP-2938: skip authoritative limit decrease for build workload type flag Jul 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants