Skip to content

Increase CAMO lint memory limit to 6Gi#79791

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
nephomaniac:camo-lint-memory-limit
May 29, 2026
Merged

Increase CAMO lint memory limit to 6Gi#79791
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
nephomaniac:camo-lint-memory-limit

Conversation

@nephomaniac
Copy link
Copy Markdown
Contributor

@nephomaniac nephomaniac commented May 27, 2026

Summary

  • Bump lint step memory limit from 4Gi to 6Gi for configure-alertmanager-operator
  • golangci-lint OOMs during module downloading after recent dependency updates expanded the module graph (go-openapi/swag split into 11 sub-modules)
  • Container is killed before linting starts — exit code 137 (OOMKilled)
  • All other steps (test, coverage, validate, e2e-binary-build) remain at 4Gi default

Evidence

Test plan

🤖 Generated with Claude Code

Summary by CodeRabbit

This PR increases the memory limit for the lint step in the configure-alertmanager-operator (CAMO) CI pipeline from 4Gi to 6Gi.

Context

The golangci-lint step was failing with OOMKilled (exit code 137) during the Go module downloading phase. Recent dependency updates expanded the module graph—specifically, the go-openapi/swag package was split into 11 sub-modules—causing the linting process to exhaust the 4Gi memory allocation before linting could even begin.

Changes

The CI configuration for openshift/configure-alertmanager-operator-master.yaml now includes a resource override for the lint test step:

  • Memory limit: increased to 6Gi
  • Memory request: 200Mi (unchanged)
  • CPU request: 100m (unchanged)

Other pipeline steps (test, coverage, validate, e2e-binary-build) continue using the default 4Gi memory limit.

Test Plan

Once this change merges, CAMO PR #530's lint step should pass without hitting the OOMKilled error.

The golangci-lint step OOMs at 4Gi after recent dependency updates
expanded the module graph (go-openapi/swag split into 11 sub-modules).
The container is killed during module downloading before linting starts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 27, 2026

Walkthrough

This change adds a resources.lint configuration to the OpenShift CI configuration for the configure-alertmanager-operator project. The lint job's memory limit is increased to 6Gi while the CPU request (100m) and memory request (200Mi) remain unchanged from defaults.

Changes

Lint job resource configuration

Layer / File(s) Summary
Lint memory limit configuration
ci-operator/config/openshift/configure-alertmanager-operator/openshift-configure-alertmanager-operator-master.yaml
Lint job resources.lint override sets limits.memory to 6Gi while retaining the standard requests.cpu (100m) and requests.memory (200Mi).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Suggested labels

lgtm, rehearsals-ack

Suggested reviewers

  • janboll
  • deads2k
🚥 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 CAMO lint memory limit to 6Gi, which matches the primary objective of the pull request.
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 PR modifies only a CI configuration YAML file (ci-operator config), not any Ginkgo test code. The custom check for stable test names is not applicable to CI/CD configuration changes.
Test Structure And Quality ✅ Passed The PR modifies OpenShift CI configuration (YAML) only. No Ginkgo test code is present in the changes. The custom check for Ginkgo test quality is not applicable to this PR.
Microshift Test Compatibility ✅ Passed The check is inapplicable: PR only modifies CI job resource limits in a YAML config file; it does not add any new Ginkgo e2e tests or test code.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No Ginkgo e2e tests are added in this PR. The change is limited to CI configuration (memory limit override for lint job), making the SNO compatibility check not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed This is a CI configuration adjusting memory limits for a lint job. No scheduling constraints or topology-incompatible assumptions are introduced.
Ote Binary Stdout Contract ✅ Passed This PR only modifies CI configuration YAML to increase lint memory limits. It contains no code changes to OTE binaries or test suites, making the OTE Binary Stdout Contract check inapplicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR only modifies CI configuration (resource limits); no new Ginkgo e2e tests are added, so IPv6/disconnected network compatibility check does not apply.
No-Weak-Crypto ✅ Passed PR modifies only CI configuration and OWNERS files (YAML), containing no cryptographic code, weak hashes, deprecated ciphers, or non-constant-time comparisons.
Container-Privileges ✅ Passed PR contains no privileged settings, hostPID/hostNetwork/hostIPC, SYS_ADMIN capabilities, or allowPrivilegeEscalation:true in the K8s manifest. Change only modifies memory resource limits.
No-Sensitive-Data-In-Logs ✅ Passed PR adds only resource limit configuration (memory: 6Gi) to lint job with no logging statements or exposed sensitive data like passwords, tokens, API keys, PII, or hostnames.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci openshift-ci Bot requested review from bergmannf and sam-nguyen7 May 27, 2026 20:50
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 27, 2026
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@nephomaniac: 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-configure-alertmanager-operator-master-coverage openshift/configure-alertmanager-operator presubmit Ci-operator config changed
pull-ci-openshift-configure-alertmanager-operator-master-e2e-binary-build-success openshift/configure-alertmanager-operator presubmit Ci-operator config changed
pull-ci-openshift-configure-alertmanager-operator-master-images openshift/configure-alertmanager-operator presubmit Ci-operator config changed
pull-ci-openshift-configure-alertmanager-operator-master-lint openshift/configure-alertmanager-operator presubmit Ci-operator config changed
pull-ci-openshift-configure-alertmanager-operator-master-test openshift/configure-alertmanager-operator presubmit Ci-operator config changed
pull-ci-openshift-configure-alertmanager-operator-master-validate openshift/configure-alertmanager-operator 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.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
ci-operator/config/openshift/configure-alertmanager-operator/openshift-configure-alertmanager-operator-master.yaml (1)

17-19: 💤 Low value

Consider increasing the memory request to better match expected usage.

The memory request is set to 200Mi while the limit is 6Gi (a 30× gap). If the lint job consistently requires close to 6Gi (as evidenced by OOM failures at 4Gi), the request should probably be higher to ensure proper scheduling and avoid node resource contention.

A memory request closer to expected baseline usage (e.g., 2Gi-4Gi) would help the Kubernetes scheduler place the pod on nodes with sufficient available memory and prevent resource contention issues.

🤖 Prompt for 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.

In
`@ci-operator/config/openshift/configure-alertmanager-operator/openshift-configure-alertmanager-operator-master.yaml`
around lines 17 - 19, Update the resources block so the memory request
(requests.memory) better reflects observed baseline usage instead of 200Mi; set
requests.memory to a value in the 2Gi–4Gi range (e.g., 4Gi if OOMs occurred near
4Gi) while keeping it <= limits.memory (currently 6Gi), and run the job to
validate scheduling and pod stability; adjust further based on observed memory
usage.
🤖 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.

Nitpick comments:
In
`@ci-operator/config/openshift/configure-alertmanager-operator/openshift-configure-alertmanager-operator-master.yaml`:
- Around line 17-19: Update the resources block so the memory request
(requests.memory) better reflects observed baseline usage instead of 200Mi; set
requests.memory to a value in the 2Gi–4Gi range (e.g., 4Gi if OOMs occurred near
4Gi) while keeping it <= limits.memory (currently 6Gi), and run the job to
validate scheduling and pod stability; adjust further based on observed memory
usage.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: e24b71ce-6d64-4083-b88e-68d42262a4dd

📥 Commits

Reviewing files that changed from the base of the PR and between 23bfec1 and ef6b7e5.

📒 Files selected for processing (1)
  • ci-operator/config/openshift/configure-alertmanager-operator/openshift-configure-alertmanager-operator-master.yaml

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 27, 2026

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

@ritmun
Copy link
Copy Markdown
Contributor

ritmun commented May 28, 2026

/pj-rehearse ack

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@ritmun: 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 May 28, 2026
@clcollins
Copy link
Copy Markdown
Member

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 29, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 29, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: clcollins, nephomaniac

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-merge-bot openshift-merge-bot Bot merged commit 8c0bca0 into openshift:main May 29, 2026
14 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.

3 participants