Skip to content

ci-tools: bump bin build memory request to 3Gi - #83341

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
kaovilai:ci-tools-arm64-bin-memory
Aug 21, 2026
Merged

ci-tools: bump bin build memory request to 3Gi#83341
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
kaovilai:ci-tools-arm64-bin-memory

Conversation

@kaovilai

@kaovilai kaovilai commented Aug 12, 2026

Copy link
Copy Markdown
Member

What

ci-operator/config/openshift/ci-tools/openshift-ci-tools-main.yaml's bin build step (go install of ~50 cmd/ binaries plus the pod-scaler/repo-init webpack bundles) was only getting the repo-wide default cpu:1/memory:1Gi, same as every other lightweight step. Added a dedicated bin: override at memory: 3Gi (keeping cpu: "1").

Why

ci/prow/images on openshift/ci-tools#5363 failed 5/5 times, always at the bin-arm64 build step with DockerBuildFailed around the 7-minute mark, while bin-amd64 needs ~23 minutes to complete the same work and succeeds.

Ruled out a code regression:

This is consistent with the arm64 build getting resource-starved under the 1Gi request rather than hitting an actual error. coredns already carries an identical override for the same reason (ci-operator/config/openshift/coredns/openshift-coredns-main.yaml).

No make jobs/prowgen regen needed — confirmed ci-operator/jobs/openshift/ci-tools/*.yaml doesn't bake in resource requests; the resources: block is read by ci-operator at runtime.

Test plan

  • /pj-rehearse this PR and confirm pull-ci-openshift-ci-tools-main-images (or a rehearsal of it) runs with the bumped memory and completes bin-arm64 successfully.

Summary by CodeRabbit

The OpenShift CI build for openshift-ci-tools now requests 3 GiB of memory and 1 CPU for the bin step. This prevents consistent arm64 build failures caused by memory starvation while preserving the existing CPU allocation.

The bin-arm64 image build (go install of ~50 cmd/ binaries plus the
pod-scaler/repo-init webpack bundles) only requested the repo-wide
default of cpu:1/memory:1Gi, same as every other lightweight step.
bin-amd64 needs ~23 minutes to complete this work; bin-arm64 has been
observed failing consistently around the 7 minute mark with
DockerBuildFailed, consistent with the build getting resource-starved
under the 1Gi request rather than hitting an actual compile error.

Reproduced building the same commit locally on arm64 hardware with no
compile errors, and openshift/ci-tools#5363 (unrelated diff, same base
SHA) showed the same failure -- ruling out a code regression.

coredns already carries an identical override for the same reason
(ci-operator/config/openshift/coredns/openshift-coredns-main.yaml).

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: ea889b95-558b-48ce-9816-1f89becfa3e5

📥 Commits

Reviewing files that changed from the base of the PR and between febe0e3 and cdefea5.

📒 Files selected for processing (1)
  • ci-operator/config/openshift/ci-tools/openshift-ci-tools-main.yaml

Walkthrough

The wildcard resource configuration now requests 1 CPU and 3 GiB of memory for the bin container profile.

Changes

Resource profile configuration

Layer / File(s) Summary
Configure bin resource requests
ci-operator/config/openshift/ci-tools/openshift-ci-tools-main.yaml
Adds requests for 1 CPU and 3 GiB of memory to the bin container profile.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: jmguzik, deepsm007

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: increasing the bin build memory request to 3Gi.
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 The PR changes only a YAML resource request from 1Gi to 3Gi. The parent-to-HEAD diff adds no Ginkgo test titles or dynamic test-name values.
Test Structure And Quality ✅ Passed The commit changes only a YAML resource block; it adds no Ginkgo test code, so the listed test-quality checks do not apply.
Microshift Test Compatibility ✅ Passed The diff adds only a YAML bin resource request; it adds no Ginkgo e2e tests or MicroShift-incompatible API usage.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The pull request diff only adds a 3Gi memory resource override in a YAML configuration file; it adds no Ginkgo e2e tests or multi-node assumptions.
Topology-Aware Scheduling Compatibility ✅ Passed The only change adds a 3Gi memory request to a ci-operator build resource profile; it adds no deployment, operator, controller, replica, affinity, selector, toleration, spread, or PDB constraint.
Ote Binary Stdout Contract ✅ Passed The diff changes only four YAML resource lines for bin; it adds no main, init, suite setup, logging, or stdout writes that could violate the OTE JSON contract.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The diff only adds a 3Gi resource override to a YAML config; it adds no Ginkgo e2e tests, IPv4 assumptions, or external connectivity.
No-Weak-Crypto ✅ Passed The PR changes only four YAML resource-request lines (cpu and memory); no cryptographic APIs, weak algorithms, custom crypto, or secret comparisons are introduced.
Container-Privileges ✅ Passed The diff only adds CPU and memory requests under resources.bin; it introduces no privileged, host namespace, SYS_ADMIN, root, or allowPrivilegeEscalation setting.
No-Sensitive-Data-In-Logs ✅ Passed The pull request only adds YAML CPU and memory resource settings; it introduces no logging or sensitive-data output.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@kaovilai

Copy link
Copy Markdown
Member Author

/pj-rehearse pull-ci-openshift-ci-tools-main-images

Note

Responses generated with Claude

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@kaovilai: your /pj-rehearse request was not processed because the request waited in queue for longer than 5 minutes. Please retry in a few minutes.

@kaovilai

Copy link
Copy Markdown
Member Author

/pj-rehearse pull-ci-openshift-ci-tools-main-images

Note

Responses generated with Claude

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@kaovilai: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@kaovilai: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-ci-tools-main-breaking-changes openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-checkconfig openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-codegen openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-e2e openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-e2e-oo openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-format openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-frontend-checks openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-images openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-integration openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-lint openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-security openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-unit openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-validate-prow openshift/ci-tools presubmit Ci-operator config changed
pull-ci-openshift-ci-tools-main-validate-vendor openshift/ci-tools presubmit Ci-operator config changed

Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals.

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.

@kaovilai

Copy link
Copy Markdown
Member Author

Rehearsal failure was infra congestion, not a repeat of the arm64 memory issue — building_project_image:pod_pending, i.e. the build pod itself couldn't get scheduled (0/47 nodes... Insufficient cpu... untolerated taint(s)), unrelated to this change. Retrying.

/pj-rehearse pull-ci-openshift-ci-tools-main-images

Note

Responses generated with Claude

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@kaovilai: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@kaovilai

Copy link
Copy Markdown
Member Author

Rehearsal passed clean on retry, on this PR's current head commit (cdefea5fd0): https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_release/83341/rehearse-83341-pull-ci-openshift-ci-tools-main-images/2087603376148713472bin-arm64 no longer fails with the bumped memory request.

/pj-rehearse ack

Note

Responses generated with Claude

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@kaovilai: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Aug 12, 2026
@bearnl

bearnl commented Aug 20, 2026

Copy link
Copy Markdown

/approve

1 similar comment
@bear-redhat

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 20, 2026

@shubham-pampattiwar shubham-pampattiwar left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 21, 2026

@weshayutin weshayutin 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.

/LGTM

@openshift-ci

openshift-ci Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bear-redhat, bearnl, kaovilai, shubham-pampattiwar, sseago, weshayutin

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 commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

@kaovilai: 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.

@openshift-merge-bot
openshift-merge-bot Bot merged commit df9f0d0 into openshift:main Aug 21, 2026
15 checks passed
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. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants