Skip to content

OCPCLOUD-3617: Update to Kubernetes 1.36 dependencies - #182

Merged
openshift-merge-bot[bot] merged 2 commits into
openshift:mainfrom
TheRealJon:OCPCLOUD-3617
Aug 5, 2026
Merged

OCPCLOUD-3617: Update to Kubernetes 1.36 dependencies#182
openshift-merge-bot[bot] merged 2 commits into
openshift:mainfrom
TheRealJon:OCPCLOUD-3617

Conversation

@TheRealJon

@TheRealJon TheRealJon commented Jul 28, 2026

Copy link
Copy Markdown
Member

Summary

  • Bump all Kubernetes dependencies from v0.35.1 to v0.36.2
  • Bump controller-runtime from v0.23.3 to v0.24.1 (required for k8s 1.36 compatibility)
  • Bump machine-api-operator to latest main (July 28, 2026)
  • Bump Go version from 1.25.0 to 1.26.0
  • Bump OpenShift dependencies (api, library-go, client-go) to latest
  • Update Dockerfile builder image to golang-1.26-openshift-5.0
  • Update Makefile ENVTEST_K8S_VERSION to 1.36.2 and BUILD_IMAGE to 5.0
  • Update AGENTS.md setup-envtest version references
  • Add bump-k8s-go skill and development runbook for future version bumps

Key version changes

Module Old New
k8s.io/api v0.35.1 v0.36.2
k8s.io/apimachinery v0.35.1 v0.36.2
k8s.io/client-go v0.35.1 v0.36.2
k8s.io/apiserver v0.35.1 v0.36.2
k8s.io/kubectl v0.35.1 v0.36.2
k8s.io/cli-runtime v0.35.1 v0.36.2
sigs.k8s.io/controller-runtime v0.23.3 v0.24.1
openshift/machine-api-operator 20260320 20260728
openshift/api 20260318 20260715
openshift/library-go 20260318 20260716
openshift/client-go 20260317 20260715
go directive 1.25.0 1.26.0
ENVTEST_K8S_VERSION 1.34.1 1.36.2

New files

  • docs/development/bump-k8s-go.md — Runbook for future k8s/Go version bumps
  • .agents/skills/bump-k8s-go/SKILL.md — AI agent skill definition
  • .claude/skills/bump-k8s-go — Symlink to skill

Test plan

  • make build passes
  • make test passes
  • make fmt produces no changes
  • make vet passes
  • CI e2e tests pass

Summary by CodeRabbit

  • Documentation

    • Added a dedicated Development guide for bumping Go and Kubernetes versions, including troubleshooting and pre-merge checks.
    • Updated test/envtest setup guidance to use the newer setup-envtest version.
  • Chores

    • Upgraded the Go toolchain and refreshed the default OpenShift/Golang build image.
    • Bumped the Kubernetes envtest version used for running and diagnosing tests.
    • Refreshed Kubernetes/controller and core dependencies to newer patch levels (including observability/networking) and aligned related tooling versions.

@openshift-ci-robot

openshift-ci-robot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

@TheRealJon: This pull request references OCPCLOUD-3617 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:

Summary

  • Update all Kubernetes dependencies from v0.35.1 to v0.36.3
  • Update controller-runtime from v0.23.3 to v0.24.1 (required for k8s 1.36 compatibility)
  • Update Go version from 1.25.0 to 1.26.0
  • Bump related indirect dependencies (kustomize, kube-openapi, structured-merge-diff, otel, etc.)

Key version changes

Module Old New
k8s.io/api v0.35.1 v0.36.3
k8s.io/apimachinery v0.35.1 v0.36.3
k8s.io/client-go v0.35.1 v0.36.3
k8s.io/apiserver v0.35.1 v0.36.3
k8s.io/kubectl v0.35.1 v0.36.3
k8s.io/cli-runtime v0.35.1 v0.36.3
sigs.k8s.io/controller-runtime v0.23.3 v0.24.1
go directive 1.25.0 1.26.0

Test plan

  • make build passes
  • make test passes
  • make vet passes
  • CI e2e tests pass

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.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 28, 2026
@openshift-ci
openshift-ci Bot requested review from RadekManak and mdbooth July 28, 2026 16:39
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The project now targets Go 1.26.0 and Kubernetes 1.36.2, refreshes direct and indirect dependencies, updates build and envtest tooling, and adds a documented workflow with agent entry points for future Kubernetes and Go bumps.

Changes

Kubernetes and Go version bump

Layer / File(s) Summary
Dependency and build toolchain alignment
go.mod, Dockerfile, Makefile, AGENTS.md
Updates Go, Kubernetes, OpenShift, controller-runtime, and related dependencies; changes the builder image and envtest references to the 1.36.2 toolchain.
Version bump runbook
docs/development/bump-k8s-go.md
Documents prerequisite version research, dependency and infrastructure updates, validation, pre-merge checks, and troubleshooting.
Agent and developer entry points
.agents/skills/bump-k8s-go/SKILL.md, .claude/skills/bump-k8s-go, README.md, AGENTS.md
Adds the bump skill, links the runbook from project documentation, and points the Claude skill path to the shared definition.

Estimated code review effort: 2 (Simple) | ~15 minutes

Suggested reviewers: mdbooth, radekmanak

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
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 test files changed in this PR; the diff is vendor-only and contains no Ginkgo title updates, so no unstable test names were introduced.
Test Structure And Quality ✅ Passed No Ginkgo test code was changed; the PR only updates docs/build config and vendored dependencies, with no *_test.go or spec files.
Microshift Test Compatibility ✅ Passed No new or modified Ginkgo test files were added; PR changes are docs, build config, and vendoring only.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo/e2e test files were added; the PR only updates versions/docs and contains no SNO-unsafe test assumptions.
Topology-Aware Scheduling Compatibility ✅ Passed No deployment manifests or controller logic were added/modified; the PR only bumps versions, docs, and vendored deps, with no new scheduling constraints.
Ote Binary Stdout Contract ✅ Passed PR only updates deps/docs/build files; no changes to main/init/TestMain/suite setup or repo-owned stdout writes.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new non-vendor Ginkgo e2e tests were added; the diff is docs/config/dependency updates only, with no It/Describe/Context/When declarations.
No-Weak-Crypto ✅ Passed Only comments/docs/semconv strings mention MD5/SHA1/3DES; no added code uses weak ciphers, custom crypto, or insecure secret comparisons.
Container-Privileges ✅ Passed Diff only changed vendored deps; no manifest updates with privileged/root/host* settings or allowPrivilegeEscalation=true were found.
No-Sensitive-Data-In-Logs ✅ Passed Reviewed the changed logging-related diffs; they only normalize APIs/formatting and add no password/token/PII-bearing log output.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: upgrading Kubernetes dependencies to 1.36 as part of the version bump.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Comment thread go.mod Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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 `@go.mod`:
- Line 119: Update the google.golang.org/grpc dependency in go.mod to v1.82.1 or
newer, then regenerate go.mod, go.sum, and vendored module metadata so all
dependency records consistently reference the upgraded version.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

Comment thread go.mod
@TheRealJon
TheRealJon force-pushed the OCPCLOUD-3617 branch 2 times, most recently from c843f6a to 8cfd71c Compare July 28, 2026 20:13

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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 `@Dockerfile`:
- Line 1: Add a USER directive to the final runtime stage based on
registry.ci.openshift.org/openshift/origin-v4.0:base, assigning a non-root UID
for container execution. Keep the builder stage unchanged and ensure the
directive applies to the final image.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

Comment thread Dockerfile
@nrb

nrb commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

/lgtm
/approve
/hold

Can unhold when CI's green.

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 28, 2026
@openshift-ci openshift-ci Bot added lgtm Indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Jul 28, 2026
@damdo

damdo commented Jul 29, 2026

Copy link
Copy Markdown
Member

Hey @TheRealJon could you please add a skill to this PR that follows this pattern closely for other MAPI providers but relevant for this component? (we can remove the bits in AGENTS.md that already cover some of this) Thanks!
Could you also split the commits and have a separate one for vendor? (e.g. end result something like this: https://github.com/openshift/machine-api-provider-aws/pull/197/commits) Thanks!

@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 29, 2026
@TheRealJon

Copy link
Copy Markdown
Member Author

@damdo I've updated with a new skill

@damdo damdo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/approve
/lgtm

/verified by ci

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 29, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@damdo: This PR has been marked as verified by ci.

Details

In response to this:

/approve
/lgtm

/verified by ci

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 coderabbitai Bot left a comment

Copy link
Copy Markdown

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 @.agents/skills/bump-k8s-go/SKILL.md:
- Around line 7-8: Restrict the allowed-tools declaration in the bump-k8s-go
skill to a least-privilege allowlist of specific read-only commands required by
the runbook. Remove the broad Bash(go *), Bash(git *), Bash(make *), Bash(gh *),
and Bash(curl *) wildcards, ensuring the configuration cannot perform repository
writes, GitHub mutations, arbitrary commands, or unrestricted network access.

In `@docs/development/bump-k8s-go.md`:
- Around line 189-203: Add an appropriate language identifier, preferably text,
to every untyped fenced code block in the documented image-tag examples,
including the related block referenced around lines 398-410. Ensure all six
opening fences satisfy markdownlint MD040 without changing their example
contents.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

Comment thread .agents/skills/bump-k8s-go/SKILL.md
Comment thread docs/development/bump-k8s-go.md
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 29, 2026
@damdo

damdo commented Jul 30, 2026

Copy link
Copy Markdown
Member

/retest

1 similar comment
@damdo

damdo commented Jul 30, 2026

Copy link
Copy Markdown
Member

/retest

@theobarberbany

Copy link
Copy Markdown
Contributor

/lgtm
/approve

@openshift-ci

openshift-ci Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: damdo, nrb, theobarberbany

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:
  • OWNERS [damdo,nrb,theobarberbany]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@damdo

damdo commented Jul 30, 2026

Copy link
Copy Markdown
Member

/retest

@miyadav

miyadav commented Jul 31, 2026

Copy link
Copy Markdown
Member

failing test is due to - https://redhat.atlassian.net/browse/OCPBUGS-90560

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 31, 2026
TheRealJon and others added 2 commits July 31, 2026 09:52
Update all Kubernetes dependencies from v0.35.1 to v0.36.2,
controller-runtime from v0.23.3 to v0.24.1, and Go from 1.25 to 1.26.
Update build images, envtest version, and Dockerfile for OCP 5.0.
Add bump-k8s-go skill and runbook for future version bumps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Jul 31, 2026
@openshift-ci openshift-ci Bot removed lgtm Indicates that a PR is ready to be merged. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Jul 31, 2026
@damdo

damdo commented Aug 3, 2026

Copy link
Copy Markdown
Member

/test e2e-gcp-operator

@TheRealJon

Copy link
Copy Markdown
Member Author

/retest

@theobarberbany

Copy link
Copy Markdown
Contributor

/override ci/prow/regression-clusterinfra-gcp-ipi-mapi

we are seeing this fail consistently for a while now - and its being investigated / fixed in #181

@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@theobarberbany: Overrode contexts on behalf of theobarberbany: ci/prow/regression-clusterinfra-gcp-ipi-mapi

Details

In response to this:

/override ci/prow/regression-clusterinfra-gcp-ipi-mapi

we are seeing this fail consistently for a while now - and its being investigated / fixed in #181

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.

@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@TheRealJon: all tests passed!

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.

@damdo damdo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm

/verified by ci

/unhold

@openshift-ci openshift-ci Bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 5, 2026
@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Aug 5, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@damdo: This PR has been marked as verified by ci.

Details

In response to this:

/lgtm

/verified by ci

/unhold

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.

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 5, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 91033fc into openshift:main Aug 5, 2026
11 checks passed
@TheRealJon
TheRealJon deleted the OCPCLOUD-3617 branch August 5, 2026 16:10
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. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants