Skip to content

NO-ISSUE: pkg/operator/kubeletversionskewcontroller: Explicit next OpenShift version in skew message#1933

Open
wking wants to merge 1 commit intoopenshift:mainfrom
wking:explicit-next-OpenShift-version-in-skew-guard-message
Open

NO-ISSUE: pkg/operator/kubeletversionskewcontroller: Explicit next OpenShift version in skew message#1933
wking wants to merge 1 commit intoopenshift:mainfrom
wking:explicit-next-OpenShift-version-in-skew-guard-message

Conversation

@wking
Copy link
Copy Markdown
Member

@wking wking commented Oct 6, 2025

Explicitly name the next OpenShift version, to reduce the chances that cluster administrators think the message applies to a currently in-progress update, when Upgradeable is only talking about future updates.

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

@wking: This pull request explicitly references no jira issue.

Details

In response to this:

Explicitly name the next OpenShift version, to reduce the chances that cluster administrators think the message applies to a currently in-progress update, when Upgradeable is only talking about future updates.

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

coderabbitai bot commented Oct 6, 2025

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b1da13e0-76d5-43b9-802a-a99d7f4c74dd

📥 Commits

Reviewing files that changed from the base of the PR and between 4be403c and 968ba69.

📒 Files selected for processing (2)
  • pkg/operator/kubeletversionskewcontroller/kubelet_version_skew_controller.go
  • pkg/operator/kubeletversionskewcontroller/kubelet_version_skew_controller_test.go
✅ Files skipped from review due to trivial changes (1)
  • pkg/operator/kubeletversionskewcontroller/kubelet_version_skew_controller.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • pkg/operator/kubeletversionskewcontroller/kubelet_version_skew_controller_test.go

Walkthrough

Adds a nextOpenShiftVersion (semver.Version) to the kubelet version skew controller, initializes it in the constructor, updates next-upgrade-related condition messages to include the explicit upcoming OpenShift minor version and use “Kubelet minor version(s)”, and updates tests to set and expect the new message format.

Changes

Cohort / File(s) Summary
Controller logic
pkg/operator/kubeletversionskewcontroller/kubelet_version_skew_controller.go
Added nextOpenShiftVersion field and initialized it in NewKubeletVersionSkewController. Modified next-upgrade-related condition messages to include explicit target OpenShift minor version (%d.%d) and changed phrasing to “Kubelet minor version(s)” for those cases.
Tests
pkg/operator/kubeletversionskewcontroller/kubelet_version_skew_controller_test.go
Updated test setup to set nextOpenShiftVersion on the controller and adjusted expected condition message strings for “unsupported next upgrade” and “supported next upgrade” scenarios to include the explicit target OpenShift minor versions.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Title Check ⚠️ Warning The title accurately summarizes the main change but includes unnecessary noise such as the “NO-ISSUE:” prefix and the full package path, making it longer and less concise than ideal. Please shorten the title to a single clear sentence without the “NO-ISSUE:” prefix or file path, for example: “Explicitly name next OpenShift version in skew message.”
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed The description clearly explains the rationale for naming the next OpenShift version in the skew message and directly relates to the changeset’s intent.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Copy link
Copy Markdown

@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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
pkg/operator/kubeletversionskewcontroller/kubelet_version_skew_controller_test.go (1)

147-156: Initialize the missing nextOpenShiftVersion field.

The test controller initialization is missing the nextOpenShiftVersion field that was added to the struct in kubelet_version_skew_controller.go. Without this field, the controller will use the zero value (0.0.0) and the test messages will show "to 0.0" instead of the expected version numbers, causing all affected tests to fail.

Apply this diff to add the missing field:

 			c := &kubeletVersionSkewController{
 				operatorClient: v1helpers.NewFakeStaticPodOperatorClient(
 					&operatorv1.StaticPodOperatorSpec{OperatorSpec: operatorv1.OperatorSpec{ManagementState: operatorv1.Managed}},
 					status, nil, nil,
 				),
 				nodeLister:                  corev1listers.NewNodeLister(indexer),
 				apiServerVersion:            semver.MustParse(apiServerVersion),
 				minSupportedSkew:            minSupportedKubeletSkewForOpenShiftVersion(ocpVersion),
 				minSupportedSkewNextVersion: minSupportedKubeletSkewForOpenShiftVersion(nextOpenShiftVersion),
+				nextOpenShiftVersion:        nextOpenShiftVersion,
 			}
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 51e09bc and 4be403c.

📒 Files selected for processing (2)
  • pkg/operator/kubeletversionskewcontroller/kubelet_version_skew_controller.go (3 hunks)
  • pkg/operator/kubeletversionskewcontroller/kubelet_version_skew_controller_test.go (3 hunks)
🔇 Additional comments (6)
pkg/operator/kubeletversionskewcontroller/kubelet_version_skew_controller.go (5)

55-55: LGTM!

The computation of the next OpenShift version by incrementing the minor version is correct and straightforward.


62-62: LGTM!

The field initialization properly assigns the computed next OpenShift version to the controller.


89-89: LGTM!

The new field addition is appropriate for storing the next OpenShift version information.


186-190: LGTM!

The message formatting correctly includes the explicit next OpenShift version in all three cases (single node, 2-3 nodes, and many nodes), which aligns with the PR's objective to clarify that the Upgradeable status refers to future updates.


197-201: LGTM!

The message formatting correctly includes the explicit next OpenShift version in all three cases, making it clear which future upgrade the supportability statement refers to.

pkg/operator/kubeletversionskewcontroller/kubelet_version_skew_controller_test.go (1)

68-68: LGTM!

These test expectations correctly include the explicit next OpenShift version (4.9) in the upgrade messages, matching the updated format in the controller implementation.

Also applies to: 84-84, 92-92, 100-100

@openshift-bot
Copy link
Copy Markdown
Contributor

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 5, 2026
@p0lyn0mial
Copy link
Copy Markdown
Contributor

/assign @sanchezl

@p0lyn0mial
Copy link
Copy Markdown
Contributor

/remove-lifecycle stale

@openshift-ci openshift-ci bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 7, 2026
@openshift-ci openshift-ci bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 23, 2026
…rsion in skew message

Explicitly name the next OpenShift version, to reduce the chances that
cluster administrators think the message applies to a currently
in-progress update, when Upgradeable is only talking about future
updates.
@wking wking force-pushed the explicit-next-OpenShift-version-in-skew-guard-message branch from 4be403c to 968ba69 Compare April 8, 2026 04:32
@openshift-ci openshift-ci bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 8, 2026
@wking
Copy link
Copy Markdown
Member Author

wking commented Apr 8, 2026

Rebased around f6a1c91 with 4be403c -> 968ba69

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 8, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: wking
Once this PR has been reviewed and has the lgtm label, please ask for approval from sanchezl. 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

@gangwgr
Copy link
Copy Markdown
Contributor

gangwgr commented Apr 8, 2026

/retest-required

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 8, 2026

@wking: 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/e2e-aws-operator-disruptive-single-node 4be403c link false /test e2e-aws-operator-disruptive-single-node
ci/prow/e2e-gcp-operator-single-node 4be403c link false /test e2e-gcp-operator-single-node
ci/prow/okd-scos-e2e-aws-ovn 4be403c link false /test okd-scos-e2e-aws-ovn
ci/prow/e2e-gcp-operator-serial-ote 968ba69 link true /test e2e-gcp-operator-serial-ote
ci/prow/e2e-aws-ovn 968ba69 link true /test e2e-aws-ovn

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

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.

6 participants