Skip to content

Conversation

@jacobsee
Copy link
Member

@jacobsee jacobsee commented Nov 11, 2025

No description provided.

@openshift-ci-robot
Copy link

Pipeline controller notification
This repository is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. Review these jobs and use /test <job> to manually trigger optional jobs most likely to be impacted by the proposed changes.

@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 Nov 11, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 11, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 11, 2025

Hello @jacobsee! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@openshift-ci openshift-ci bot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Nov 11, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 11, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign everettraven for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@jacobsee jacobsee marked this pull request as ready for review November 11, 2025 19:15
@jacobsee
Copy link
Member Author

/test all

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 12, 2025
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 15, 2025
@coderabbitai
Copy link

coderabbitai bot commented Nov 19, 2025

📝 Walkthrough

Walkthrough

This pull request updates the Go toolchain and build images from Go 1.24 to 1.25, bumps numerous module versions (including Kubernetes modules to v0.35.0 and multiple golang.org/x packages), and updates container base images to use golang-1.25. Several CRD OpenAPI descriptions are edited to add toleration operators Lt and Gt (noting they perform numeric comparisons and require the TaintTolerationComparisonOperators feature gate) and to remove RecoverVolumeExpansionFailure feature-gate wording from PVC/resource descriptions. Codegen now loads boilerplate via gengo with error handling.

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'WIP: Rebase 1.35' is vague and generic, using non-specific terms that don't clearly convey what the changeset accomplishes beyond a version bump reference. Provide a more descriptive title that explains the main purpose of the rebase, such as 'Update Go toolchain and dependencies to 1.25' or 'Upgrade Kubernetes API dependencies for 1.35 release'.
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to assess whether the changeset intent is documented. Add a detailed description explaining the purpose of the rebase, which dependencies were updated and why, and any breaking changes or migration steps required.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

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

✨ Finishing touches
  • 📝 Generate docstrings

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.5.0)

Error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented
The command is terminated due to an error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented


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

@jacobsee
Copy link
Member Author

/test all

@jacobsee jacobsee force-pushed the rebase-1.35 branch 3 times, most recently from ae1d8fc to 9a02b63 Compare December 4, 2025 20:07
@jacobsee jacobsee force-pushed the rebase-1.35 branch 2 times, most recently from fef37d6 to e980854 Compare December 11, 2025 22:21
@jacobsee jacobsee force-pushed the rebase-1.35 branch 3 times, most recently from bb49d46 to e5e4e13 Compare January 28, 2026 00:32
Copy link

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@tools/go.mod`:
- Line 36: The replace directive for sigs.k8s.io/controller-tools in go.mod
points to an OpenShift fork at v0.12.1-0.20260129094627-81028d02e14a which is
incompatible with Kubernetes v0.35.0 dependencies; update the replace or module
target referenced in the replace line to a fork/version of controller-tools that
matches or is compatible with upstream v0.18.0 (or remove the replace to use
sigs.k8s.io/controller-tools v0.18.0), ensuring k8s.io/apiextensions-apiserver,
k8s.io/apimachinery, k8s.io/code-generator and k8s.io/kube-openapi versions
align with Kubernetes v0.35.0; if the downgrade is intentional, add a clear
comment in go.mod and the PR explaining why this specific OpenShift fork/version
is required and which downstream compatibility constraints were validated.
🧹 Nitpick comments (1)
tools/go.mod (1)

21-21: Note: golang.org/x/tools version differs from root go.mod.

The tools module uses golang.org/x/tools v0.41.0 while the root module uses v0.38.0. This version difference may be intentional if the tools module has different requirements, but worth confirming this is expected.

)

replace sigs.k8s.io/controller-tools => github.com/openshift/controller-tools v0.12.1-0.20260120141914-b0865777b142
replace sigs.k8s.io/controller-tools => github.com/openshift/controller-tools v0.12.1-0.20260129094627-81028d02e14a
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Check if the pseudo-version resolves via Go proxy
curl -s "https://proxy.golang.org/github.com/openshift/controller-tools/@v/v0.12.1-0.20260129094627-81028d02e14a.info" | jq . 2>/dev/null || curl -s "https://proxy.golang.org/github.com/openshift/controller-tools/@v/v0.12.1-0.20260129094627-81028d02e14a.info"

Repository: openshift/api

Length of output: 299


🏁 Script executed:

# Check the format of the pseudo-version (date part: 20260129 = Jan 29, 2026)
# This appears to be a future date; let's check what's actually available
echo "Pseudo-version breakdown:"
echo "- Base version: v0.12.1"
echo "- Timestamp: 20260129 (January 29, 2026)"
echo "- Short commit: 81028d02e14a"
echo ""
echo "Checking Go module proxy for available versions:"
curl -s "https://proxy.golang.org/github.com/openshift/controller-tools/@v/list" | head -20

Repository: openshift/api

Length of output: 384


🏁 Script executed:

# Also check the base module that's being replaced
echo "Checking upstream controller-tools available versions:"
curl -s "https://proxy.golang.org/sigs.k8s.io/controller-tools/@v/list" | head -20

Repository: openshift/api

Length of output: 280


🏁 Script executed:

cat -n tools/go.mod | head -60

Repository: openshift/api

Length of output: 2834


Address critical version mismatch: controller-tools fork v0.12.1 is incompatible with Kubernetes v0.35.0 dependencies.

The go.mod requires sigs.k8s.io/controller-tools v0.18.0 (upstream) but replaces it with the OpenShift fork at v0.12.1-0.20260129094627-81028d02e14a. This is a 6 minor version downgrade applied to Kubernetes v0.35.0 dependencies (k8s.io/apiextensions-apiserver, k8s.io/apimachinery, k8s.io/code-generator, k8s.io/kube-openapi). The fork version is significantly older than what the upstream K8s libraries expect and will cause API incompatibilities. Upgrade the OpenShift fork to a version compatible with K8s v0.35.0, or document why this downgrade is intentional.

🤖 Prompt for AI Agents
In `@tools/go.mod` at line 36, The replace directive for
sigs.k8s.io/controller-tools in go.mod points to an OpenShift fork at
v0.12.1-0.20260129094627-81028d02e14a which is incompatible with Kubernetes
v0.35.0 dependencies; update the replace or module target referenced in the
replace line to a fork/version of controller-tools that matches or is compatible
with upstream v0.18.0 (or remove the replace to use sigs.k8s.io/controller-tools
v0.18.0), ensuring k8s.io/apiextensions-apiserver, k8s.io/apimachinery,
k8s.io/code-generator and k8s.io/kube-openapi versions align with Kubernetes
v0.35.0; if the downgrade is intentional, add a clear comment in go.mod and the
PR explaining why this specific OpenShift fork/version is required and which
downstream compatibility constraints were validated.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 29, 2026

@jacobsee: 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/prow/verify-deps 6736e67 link true /test verify-deps
ci/prow/verify-client-go 6736e67 link true /test verify-client-go

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

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants