NO-ISSUE: bump controller runtime 0.23.3 - #10727
Conversation
|
@rccrdpccl: This pull request explicitly references no jira issue. DetailsIn response to this:
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. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rccrdpccl The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughThe changes refresh Go and Kubernetes dependencies, increase operator client rate limits, modernize controller watch wiring, simplify Ironic URL handling, align admission decoder types, update envtest versions, and add generated ChangesController and API alignment
Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 13 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (13 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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 `@go.mod`:
- Line 41: Update the vulnerable dependency pins in go.mod for
github.com/jackc/pgx/v5, github.com/docker/docker, google.golang.org/grpc, and
its go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
dependency to secure versions, then refresh go.sum consistently.
In `@internal/controller/controllers/bmo_utils.go`:
- Around line 85-101: The empty-IP branch in GetIronicIPs only decorates the
logger without emitting an error entry. Update the r.log.WithError(err) call in
that branch to log the same “unable to determine Ironic's IP” message used by
the preceding failure path.
In `@internal/controller/controllers/mock_bmo_utils.go`:
- Around line 58-63: Update the GetIronicIPs expectations in
preprovisioningimage_controller_test.go to match MockBMOUtils.GetIronicIPs’s
two-value return signature: trim the .Return(...) calls to two values in both
success and error cases, preserving the existing test data and error behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@internal/controller/controllers/preprovisioningimage_controller_test.go`:
- Line 196: Update the assertions in the relevant test cases around
internalIgnitionConfig to validate the second generated configuration field or
occurrence instead of repeating the same service-IP substring assertion. Apply
this at all corresponding locations, including the cases near the existing
assertions, and remove the duplicate assertion if the contract requires only one
occurrence.
🪄 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: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 91f865f0-bcda-49d2-a3ed-03a4df609bd6
⛔ Files ignored due to path filters (4)
go.sumis excluded by!**/*.sumvendor/github.com/openshift/generic-admission-server/pkg/apiserver/apiserver.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/openshift/generic-admission-server/pkg/cmd/server/start.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/openshift/generic-admission-server/pkg/registry/admissionreview/generated/openapi.gois excluded by!**/generated/**,!**/vendor/**,!vendor/**
📒 Files selected for processing (3)
go.modinternal/controller/controllers/bmo_utils_test.gointernal/controller/controllers/preprovisioningimage_controller_test.go
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@internal/controller/controllers/clusterdeployments_controller_test.go`:
- Around line 1493-1495: Extend the owner-reference assertions in the cluster
install test to also validate APIVersion and BlockOwnerDeletion, while retaining
the existing Kind, Name, and UID checks on
clusterInstall.ObjectMeta.OwnerReferences[0].
🪄 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: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: b385ab60-45a6-4609-8c6a-34d6715abe12
📒 Files selected for processing (3)
internal/controller/controllers/agent_controller_test.gointernal/controller/controllers/agentserviceconfig_controller_test.gointernal/controller/controllers/clusterdeployments_controller_test.go
| Expect(clusterInstall.ObjectMeta.OwnerReferences[0].Kind).To(Equal("ClusterDeployment")) | ||
| Expect(clusterInstall.ObjectMeta.OwnerReferences[0].Name).To(Equal(cluster.Name)) | ||
| Expect(clusterInstall.ObjectMeta.OwnerReferences[0].UID).To(Equal(cluster.UID)) |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
Retain assertions for all owner-reference fields
This change drops coverage for APIVersion and BlockOwnerDeletion, so an incorrectly formed owner reference could now pass the test. Keep explicit assertions for those fields in addition to Kind, Name, and UID.
🤖 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 `@internal/controller/controllers/clusterdeployments_controller_test.go` around
lines 1493 - 1495, Extend the owner-reference assertions in the cluster install
test to also validate APIVersion and BlockOwnerDeletion, while retaining the
existing Kind, Name, and UID checks on
clusterInstall.ObjectMeta.OwnerReferences[0].
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #10727 +/- ##
==========================================
- Coverage 44.61% 44.59% -0.02%
==========================================
Files 423 423
Lines 73421 73415 -6
==========================================
- Hits 32755 32743 -12
- Misses 37725 37729 +4
- Partials 2941 2943 +2 🚀 New features to boost your workflow:
|
1d7c624 to
2fae848
Compare
|
Caution Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted. Error details |
2fae848 to
077c9d4
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@api/go.mod`:
- Line 45: Update the golang.org/x/net dependency configuration in api/go.mod by
removing the existing replace directive that pins it to v0.24.0, or change that
directive to the intended v0.55.0 release so the declared requirement is
effective.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@internal/controller/controllers/preprovisioningimage_controller_test.go`:
- Around line 175-177: Remove the inner AfterEach hook that calls
mockCtrl.Finish() in the test setup, leaving the outer controller teardown
responsible for finishing the mock controller and avoiding a duplicate call.
🪄 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: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 7f6b7e15-2a6b-4429-8811-4f99ddaa9c6d
📒 Files selected for processing (25)
cmd/operator/main.gocmd/webadmission/main.gointernal/controller/controllers/agent_controller.gointernal/controller/controllers/agent_controller_test.gointernal/controller/controllers/agentserviceconfig_controller.gointernal/controller/controllers/agentserviceconfig_controller_test.gointernal/controller/controllers/bmo_utils.gointernal/controller/controllers/bmo_utils_test.gointernal/controller/controllers/clusterdeployments_controller.gointernal/controller/controllers/clusterdeployments_controller_test.gointernal/controller/controllers/infraenv_controller.gointernal/controller/controllers/mock_bmo_utils.gointernal/controller/controllers/mock_k8s_client.gointernal/controller/controllers/mock_sub_resource_writer.gointernal/controller/controllers/preprovisioningimage_controller.gointernal/controller/controllers/preprovisioningimage_controller_test.gointernal/spoke_k8s_client/mock_spoke_k8s_client.gointernal/testing/envtest.gopkg/webhooks/agentinstall/v1beta1/agent_admission_hook.gopkg/webhooks/agentinstall/v1beta1/agent_classification_admission_hook.gopkg/webhooks/agentinstall/v1beta1/infraenv_admission_hook.gopkg/webhooks/agentinstall/v1beta1/infraenv_admission_hook_test.gopkg/webhooks/hiveextension/v1beta1/agentclusterinstall_mutating_hook.gopkg/webhooks/hiveextension/v1beta1/agentclusterinstall_validation_hook.gopkg/webhooks/hiveextension/v1beta1/agentclusterinstall_validation_hook_test.go
🚧 Files skipped from review as they are similar to previous changes (3)
- cmd/webadmission/main.go
- pkg/webhooks/hiveextension/v1beta1/agentclusterinstall_validation_hook_test.go
- pkg/webhooks/agentinstall/v1beta1/infraenv_admission_hook_test.go
5ccc7bd to
a80cc74
Compare
|
/override ci/prow/edge-e2e-ai-operator-disconnected-capi |
|
@gamli75: Overrode contexts on behalf of gamli75: ci/prow/edge-e2e-ai-operator-disconnected-capi DetailsIn response to this:
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. |
a80cc74 to
71a6db0
Compare
Update controller-runtime and all k8s.io dependencies to align with Kubernetes 1.35. Remove k8s.io/api, apimachinery, and kube-openapi replace directives that pinned to v0.29.9. Remove gnostic-models version pin. Update vendored dependencies to versions compatible with controller-runtime 0.23.3: - openshift/baremetal-operator (main, 2026-07-30) - openshift/cluster-baremetal-operator (main, 2026-07-30) - openshift/hive (master, 2026-07-29) - openshift/generic-admission-server (master, 2026-03-05) Key version changes: - sigs.k8s.io/controller-runtime: v0.16.3 -> v0.23.3 - k8s.io/client-go: v0.29.9 -> v0.35.6 - k8s.io/api, apimachinery, apiextensions: -> v0.35.6 Assisted-by: Claude Code <noreply@anthropic.com>
source.Channel struct replaced by function, WatchesRawSource now takes a single arg with the handler embedded in the source (agent_controller, infraenv_controller, clusterdeployments). admission.Decoder changed from struct to interface; drop pointer from field types and constructor params across all webhook hooks. BMOUtils.GetIronicIPs returns ([]string, error) instead of ([]string, []string, error) — BMO removed ironic-inspector, ironic IPs now serve both roles. prometheus-operator SafeTLSConfig.ServerName changed from string to *string; wrap with ptr.To and adjust test matcher. Restore client-side rate limiting (QPS=20, Burst=30) disabled by default since controller-runtime v0.21. Fake client no longer populates TypeMeta on structured objects; update OwnerReference test assertions to compare against known string literals. Update envtest setup-envtest to release-0.23 / k8s 1.35.0. Regenerate mocks for updated interfaces. Assisted-by: Claude Code <noreply@anthropic.com>
71a6db0 to
951d3ab
Compare
- jackc/pgx/v5: v5.6.0 → v5.9.2 (CVE-2026-33815, CVE-2026-33816, CVE-2026-41889) - google.golang.org/grpc: v1.80.0 → v1.82.1 (GHSA-hrxh-6v49-42gf) - api/go.mod: update golang.org/x/net replace v0.24.0 → v0.55.0 Assisted-by: Claude Code <noreply@anthropic.com>
d40df58 to
d15f7d7
Compare
|
/retest |
The k8s.io/apimachinery bump changed ObjectMeta YAML serialization: zero-valued CreationTimestamp is now omitted instead of serialized as "creationTimestamp: null". Remove the field from test expectations. Assisted-by: Claude Code <noreply@anthropic.com>
|
@rccrdpccl: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
PR needs rebase. DetailsInstructions 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. |
List all the issues related to this PR
What environments does this code impact?
How was this code tested?
Checklist
docs, README, etc)Reviewers Checklist
Summary by CodeRabbit
ServerNamereliably.