Skip to content

AUTOSCALE-586: Promote karpenter-operator image#79001

Open
maxcao13 wants to merge 2 commits intoopenshift:mainfrom
maxcao13:karpenter-operator-2
Open

AUTOSCALE-586: Promote karpenter-operator image#79001
maxcao13 wants to merge 2 commits intoopenshift:mainfrom
maxcao13:karpenter-operator-2

Conversation

@maxcao13
Copy link
Copy Markdown
Member

@maxcao13 maxcao13 commented May 7, 2026

Adds a postsubmit job to promote the karpenter-operator image to be published to the ci stream as release artifact.

Also adds the verify job to karpenter-operator repo which will check go vet, fmt, lint, and unit tests.

This PR updates OpenShift CI configuration to add image promotion and verification for the karpenter-operator component.

Practical impact

  • Affects the OpenShift CI configuration for the openshift/karpenter-operator repository; changes ensure the component’s image is built, promoted into the CI release stream, and that PRs are validated by automated checks.

Key changes

  1. Image build & promotion

    • Declares an image built from the repository Dockerfile (build_root from_repository: true; images -> dockerfile_path: Dockerfile -> to: karpenter-operator).
    • Adds promotion metadata to publish the built image into the CI release stream for OCP 5.0 (promotion/release entries: name "5.0", namespace "ocp" and releases.latest.integration.include_built_images: true).
  2. Verify job (PR gating)

    • Adds a verify test job that runs make verify inside a container built from the repo (container.from: src). This enforces go vet, go fmt, linting and unit tests for pull requests.
  3. e2e-aws behavior & test gating

    • Configures the existing e2e-aws test with skip_if_only_changed rules that skip e2e runs when only documentation, GitHub metadata, or standard non-code files change. The verify job uses the same skip pattern.
  4. Resource defaults

    • Sets default resource requests/limits for jobs (requests: cpu 100m, memory 200Mi; limits: memory 4Gi).

Context

  • The changes implement AUTOSCALE-586 by enabling CI promotion of the karpenter-operator image as a release artifact and adding PR-level verification to maintain code quality.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 7, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented May 7, 2026

@maxcao13: This pull request references AUTOSCALE-586 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 task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Adds a postsubmit job to promote the karpenter-operator image to be published to the ci stream as release artifact.

Also adds the verify job to karpenter-operator repo which will check go vet, fmt, lint, and unit tests.

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.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 7, 2026

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: 827efb20-0f6d-4723-bd59-56211fee8934

📥 Commits

Reviewing files that changed from the base of the PR and between 915b900 and 9f15c96.

⛔ Files ignored due to path filters (2)
  • ci-operator/jobs/openshift/karpenter-operator/openshift-karpenter-operator-main-postsubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/karpenter-operator/openshift-karpenter-operator-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (1)
  • ci-operator/config/openshift/karpenter-operator/openshift-karpenter-operator-main.yaml
✅ Files skipped from review due to trivial changes (1)
  • ci-operator/config/openshift/karpenter-operator/openshift-karpenter-operator-main.yaml

Walkthrough

OpenShift CI config for karpenter-operator now defines an image built from the repository Dockerfile, adds a skip_if_only_changed rule to the e2e-aws test job for docs/housekeeping files, and adds a new verify test job that runs make verify in a container built from src with the same skip rule.

Changes

CI Configuration Updates

Layer / File(s) Summary
Image Definition
ci-operator/config/openshift/karpenter-operator/openshift-karpenter-operator-main.yaml
Adds an images mapping that builds the repository Dockerfile and outputs it as the karpenter-operator image.
Test Job Wiring
ci-operator/config/openshift/karpenter-operator/openshift-karpenter-operator-main.yaml
Updates e2e-aws test job to include skip_if_only_changed rules for documentation/config/license/housekeeping file patterns.
New Test Job
ci-operator/config/openshift/karpenter-operator/openshift-karpenter-operator-main.yaml
Adds a verify test job that runs make verify in a container built from src (from: src) and is gated by the same skip_if_only_changed rule.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'AUTOSCALE-586: Promote karpenter-operator image' directly and clearly describes the main change: promoting the karpenter-operator image as a release artifact, which aligns with the PR's primary objective of adding a postsubmit job for image promotion.
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 No Ginkgo test definitions were added or modified in this PR. The changes are in CI configuration files (YAML) for OpenShift CI, not Go test code. The custom check is not applicable.
Test Structure And Quality ✅ Passed PR contains only CI/CD configuration YAML files, no Ginkgo test code. The custom check for Ginkgo test quality is not applicable.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests were added. The PR only configures CI jobs to run existing standard OpenShift e2e tests and verify checks. The check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests are being added in this PR. Changes are limited to CI configuration YAML for image builds and test job setup. SNO compatibility check does not apply.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies only CI pipeline YAML config and job definitions. No deployment manifests, operator code, or scheduling constraints are introduced.
Ote Binary Stdout Contract ✅ Passed PR modifies only CI pipeline YAML config. OTE check applies to executable code. No code changes present, so check not applicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR adds CI/OpenShift pipeline YAML configuration files, not Ginkgo e2e test code. No new Ginkgo tests (It(), Describe(), Context(), When()) are being added. Custom check is not applicable.

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

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

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

@openshift-ci openshift-ci Bot requested review from elmiko and joelsmith May 7, 2026 18:29
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 7, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: maxcao13

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 May 7, 2026
@maxcao13
Copy link
Copy Markdown
Member Author

maxcao13 commented May 7, 2026

/pj-rehearse pull-ci-openshift-karpenter-operator-main-verify pull-ci-openshift-karpenter-operator-main-images

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@maxcao13: 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

@maxcao13, pj-rehearse: unable prepare a candidate for rehearsal; rehearsals will not be run. This could be due to a branch that needs to be rebased. ERROR:

couldn't checkout base SHA cc643a39108b361cf09ec2b35075717cd9a1aa10: error checking out "cc643a39108b361cf09ec2b35075717cd9a1aa10": exit status 128 fatal: unable to read tree (cc643a39108b361cf09ec2b35075717cd9a1aa10)

maxcao13 added 2 commits May 7, 2026 11:39
Signed-off-by: Max Cao <macao@redhat.com>
Signed-off-by: Max Cao <macao@redhat.com>
@maxcao13 maxcao13 force-pushed the karpenter-operator-2 branch from 915b900 to 9f15c96 Compare May 7, 2026 18:39
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@maxcao13: 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-karpenter-operator-main-images openshift/karpenter-operator presubmit Presubmit changed
pull-ci-openshift-karpenter-operator-main-verify openshift/karpenter-operator presubmit Presubmit changed
pull-ci-openshift-karpenter-operator-main-e2e-aws openshift/karpenter-operator presubmit Ci-operator config changed
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.

1 similar comment
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@maxcao13: 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-karpenter-operator-main-images openshift/karpenter-operator presubmit Presubmit changed
pull-ci-openshift-karpenter-operator-main-verify openshift/karpenter-operator presubmit Presubmit changed
pull-ci-openshift-karpenter-operator-main-e2e-aws openshift/karpenter-operator presubmit Ci-operator config changed
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.

@maxcao13
Copy link
Copy Markdown
Member Author

maxcao13 commented May 7, 2026

/pj-rehearse pull-ci-openshift-karpenter-operator-main-verify pull-ci-openshift-karpenter-operator-main-images

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 7, 2026

@maxcao13: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/openshift/karpenter-operator/main/images 9f15c96 link unknown /pj-rehearse pull-ci-openshift-karpenter-operator-main-images
ci/rehearse/openshift/karpenter-operator/main/verify 9f15c96 link unknown /pj-rehearse pull-ci-openshift-karpenter-operator-main-verify

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.

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. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants