Skip to content

kube-vip: project onboarding#80926

Open
mkowalski wants to merge 4 commits into
openshift:mainfrom
mkowalski:kube-vip-onboarding
Open

kube-vip: project onboarding#80926
mkowalski wants to merge 4 commits into
openshift:mainfrom
mkowalski:kube-vip-onboarding

Conversation

@mkowalski

@mkowalski mkowalski commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

This PR onboards the openshift/kube-vip repository into OpenShift’s CI infrastructure so pull requests get automated build/test coverage and are handled by the standard Prow/Tide workflows.

  • CI Operator setup: Adds a new CI Operator manifest for kube-vip that runs unit and integration tests in CI (make unit-tests / make integration-tests) and includes a basic go test -race ./... test command. It also applies default container resource requests/limits and ties the config metadata to the main branch.
  • Promotion intentionally excluded: The onboarding configuration is adjusted to be CI-testing-only—it removes an early image promotion block and related releases/base_images entries that were targeted at ocp/5.0. This reflects that kube-vip is not yet onboarded to ART/OpenShift payload promotion (it ships upstream Alpine/scratch Dockerfiles rather than RHEL/payload images).
  • Tide merge automation trimmed: Updates Tide queries to include only currently active branches (from openshift-4.22/release-4.22 onward, plus main/master) with corresponding label expectations, avoiding a stale historical branch list.
  • Prow plugins + access control: Adds Prow plugin config for the repo’s approve behavior (including LGTM handling) and populates the repo OWNERS file with the specified approvers/reviewers.

In practical terms, kube-vip PRs will now reliably run CI unit/integration tests through OpenShift’s pipeline and follow consistent Prow/Tide approval and merge automation—without enabling image promotion until the component is ready for payload onboarding.

@coderabbitai

coderabbitai Bot commented Jun 23, 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: d1f2a1b2-f043-4b6e-b600-a2eb19c8a36e

📥 Commits

Reviewing files that changed from the base of the PR and between 9bedcb4 and 1cacbd4.

📒 Files selected for processing (2)
  • ci-operator/config/openshift/kube-vip/openshift-kube-vip-main.yaml
  • core-services/prow/02_config/openshift/kube-vip/_prowconfig.yaml
💤 Files with no reviewable changes (2)
  • core-services/prow/02_config/openshift/kube-vip/_prowconfig.yaml
  • ci-operator/config/openshift/kube-vip/openshift-kube-vip-main.yaml

Walkthrough

This PR adds initial CI and Prow configuration for openshift/kube-vip, including a CI Operator job definition, repository plugin settings for approval handling, and Tide branch query rules for merge automation.

Changes

Kube-vip repository onboarding

Layer / File(s) Summary
CI operator job setup
ci-operator/config/openshift/kube-vip/openshift-kube-vip-main.yaml
Adds the repository's main CI Operator config with build root image stream tag, default container resource requests/limits, race-enabled Go test execution, and container-based unit and integration test phases.
Prow review and merge policy
core-services/prow/02_config/openshift/kube-vip/_pluginconfig.yaml, core-services/prow/02_config/openshift/kube-vip/_prowconfig.yaml, ci-operator/config/openshift/kube-vip/OWNERS
Adds plugin configuration for non-self-approval and review-acts-as-LGTM behavior, Tide query rules covering main/master and openshift-4.22/release-4.22 branches with required and missing label filters, and repository access control designating reviewers and approvers.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • openshift/release#80506: Both PRs modify the build_root section in OpenShift CI operator YAML files to configure build images.
  • openshift/release#80913: Both PRs update ci-operator job configuration in the build_root section for selecting build root images.

Suggested labels

lgtm, rehearsals-ack

🚥 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 'kube-vip: project onboarding' directly and clearly summarizes the main objective of the PR, which is to onboard the kube-vip project into OpenShift's CI/release infrastructure.
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 contains only CI/CD configuration files (YAML) and OWNERS file, with no Ginkgo test code or test titles to evaluate. Check is not applicable.
Test Structure And Quality ✅ Passed PR adds only CI/infrastructure configuration files (YAML) with no Ginkgo test code. The check for test structure is not applicable as there are no test files to review.
Microshift Test Compatibility ✅ Passed No Ginkgo e2e tests are added in this PR. The changes are infrastructure/configuration files (CI operator config, Prow config, OWNERS) with no test code requiring MicroShift compatibility checks.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No Ginkgo e2e tests (It(), Describe(), Context(), When(), etc.) are added in this PR. Only CI/CD configuration files (YAML and OWNERS) for kube-vip project onboarding are included.
Topology-Aware Scheduling Compatibility ✅ Passed This PR contains only CI/CD and Prow configuration files (build manifests, plugin configs, OWNERS), not deployment manifests or operator code. No scheduling constraints are introduced.
Ote Binary Stdout Contract ✅ Passed PR adds only YAML configuration files (CI operator, Prow, OWNERS) with no Go source code; OTE Binary Stdout Contract check applies only to process-level code and is not applicable here.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR adds CI infrastructure configuration for kube-vip onboarding, not Ginkgo e2e tests. No test code with potential IPv4 assumptions or external connectivity requirements was added.
No-Weak-Crypto ✅ Passed All four new files are YAML configuration files with no cryptographic code, weak algorithms, custom crypto implementations, or secret comparisons.
Container-Privileges ✅ Passed No privileged container configurations found in any of the added kube-vip onboarding files. All container specs use standard settings with appropriate resource limits and no privilege escalation fl...
No-Sensitive-Data-In-Logs ✅ Passed No logging or sensitive data found. All files are YAML configuration files containing only repository metadata, resource limits, plugin settings, and approval rules with no exposed credentials, tok...

✏️ 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.

@openshift-ci openshift-ci Bot requested review from Prucek and hector-vido June 23, 2026 14:13
@openshift-ci

openshift-ci Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mkowalski

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 Jun 23, 2026

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

🤖 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 `@core-services/prow/02_config/openshift/kube-vip/_pluginconfig.yaml`:
- Around line 9-12: The plugins section for openshift/kube-vip in the
_pluginconfig.yaml file currently only includes the `approve` plugin, but the
Tide configuration requires the `lgtm` plugin to be enabled as well. Add `lgtm`
to the plugins list under the openshift/kube-vip configuration alongside the
existing `approve` plugin to enable the normal `/lgtm` labeling workflow.

In `@core-services/prow/02_config/openshift/kube-vip/_prowconfig.yaml`:
- Around line 99-104: The excludedBranches list does not include community-4.6
and community-4.7, which creates an overlap since these branches are already
included in a stricter query elsewhere. Add community-4.6 and community-4.7 to
the excludedBranches list in the catch-all query to prevent merges from going
through the weaker label set. Apply the same fix to both occurrences of this
pattern in the file (at lines 99-104 and also at lines 150-154).
🪄 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: 4e5f44e3-cb1e-458d-b861-185fd1fe1796

📥 Commits

Reviewing files that changed from the base of the PR and between 06cb91c and 6002ebf.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift/kube-vip/openshift-kube-vip-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (3)
  • ci-operator/config/openshift/kube-vip/openshift-kube-vip-main.yaml
  • core-services/prow/02_config/openshift/kube-vip/_pluginconfig.yaml
  • core-services/prow/02_config/openshift/kube-vip/_prowconfig.yaml

Comment thread core-services/prow/02_config/openshift/kube-vip/_pluginconfig.yaml
Comment thread core-services/prow/02_config/openshift/kube-vip/_prowconfig.yaml Outdated
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@mkowalski: pj-rehearse could not automatically process this event because the request waited in queue for longer than 5 minutes. Use /pj-rehearse to trigger rehearsals manually.

@mkowalski

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-kube-vip-main-unit-tests

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

The generated config referenced openshift/release:golang-1.26, which does
not exist in the imagestream (newest convenience tag is golang-1.25). This
caused the [input:root] step to fail when importing the build root:

  unable to import tag pipeline:root ... quay.io/openshift/ci:openshift_release_golang-1.26 not found

Use rhel-9-release-golang-1.26-openshift-5.0, the real Go 1.26 builder tag
used by other promoted openshift payload components targeting ocp 5.0.
@mkowalski

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-kube-vip-main-unit-tests

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

Review feedback on the onboarding config:

1. The config had a promotion block targeting ocp/5.0 but defined no
   images to build, so it would only promote the synthetic src image.
   kube-vip is not yet onboarded to ART/the OpenShift payload and only
   ships an upstream Alpine/scratch Dockerfile (not a valid RHEL-based
   payload image). Remove the promotion block, along with the releases
   and base_images entries that only existed to serve it, leaving a
   clean CI-testing-only config (unit + integration tests). Promotion
   and an images stanza can be re-added once the component is ready to
   ship to the payload.

2. Trim the Tide queries to the active branches (openshift-4.22 /
   release-4.22 onward, plus main/master). The repo-init template
   stamped the full historical 4.0+ branch list, none of which exist
   for this new repo. Future release branches are appended at branch-cut
   time, matching other trimmed repos (e.g. bpfman-operator).
@mkowalski

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-kube-vip-main-unit-tests

@openshift-ci

openshift-ci Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

@mkowalski: The following test 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/kube-vip/main/unit-tests 85e91d2 link unknown /pj-rehearse pull-ci-openshift-kube-vip-main-unit-tests

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.

@mkowalski

Copy link
Copy Markdown
Contributor Author

/pj-rehearse help

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@mkowalski: job(s): help either don't exist or were not found to be affected, and cannot be rehearsed

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant