Skip to content

OCPBUGS-100177: Rebase release-4.23 to Kubernetes v1.35.7 - #2726

Closed
redhat-chai-bot wants to merge 102 commits into
openshift:release-4.23from
redhat-chai-bot:rebase-release-4.23-v1.35.7
Closed

OCPBUGS-100177: Rebase release-4.23 to Kubernetes v1.35.7#2726
redhat-chai-bot wants to merge 102 commits into
openshift:release-4.23from
redhat-chai-bot:rebase-release-4.23-v1.35.7

Conversation

@redhat-chai-bot

Copy link
Copy Markdown

Summary

Rebases the release-4.23 branch from Kubernetes 1.35.3 to v1.35.7 (upstream release 2026-07-22).

Conflicts Resolved

10 files — accepted upstream version:

  • Root go.sum
  • Staging go.mod / go.sum files

OpenShift Dependencies

OpenShift deps (openshift/api, client-go, library-go, apiserver-library-go) kept at their existing pinned versions. The newer branch heads pull in go 1.26 / k8s 1.36 APIs that are incompatible with k8s 1.35.


@dusk125 requested in Slack thread

Chao Chen and others added 30 commits January 16, 2026 17:54
Signed-off-by: Chao Chen <chaochn@amazon.com>
Fixes kube-proxy's nftables mode to work on systems with nft 1.1.3.
When a pod has a sidecar (initContainer with restartPolicy: Always) with
a startupProbe, and one or more regular containers crash after a kubelet
restart, the kubelet fails to restart the regular containers. RestartCount
stays at 0 indefinitely.

When ChangeContainerStatusOnKubeletRestart is disabled (default in v1.35),
the prober worker skips seeding probe results for containers that predate
the kubelet restart. For a sidecar with a startupProbe this means
startupManager.Get() returns found=false permanently. In
computeInitContainerActions, the sidecar Running case breaks out early at
the !found check, leaving podHasInitialized=false. computePodActions then
returns early at the !hasInitialized guard without restarting the crashed
regular containers.

Fix: when the gate is off and a restartable init container's startup probe
is being seeded for the first time after a kubelet restart, check the
container's Started field in the pod status. If Started=true, the sidecar
had already passed startup before the restart, so seed the startup manager
with Success. This allows computeInitContainerActions to detect pod
initialization via the sidecar Running path without altering readiness or
liveness probe seeding behaviour.

Add and update tests to cover the fix:
- worker unit tests for sidecar startup/readiness/liveness restart behaviour
- e2e node regression test for sidecar with startupProbe across kubelet restart

Fixes: kubernetes#136910
…-pick-of-#137501-origin-release-1.35

Automated cherry pick of kubernetes#137501: Fix kube-proxy on systems with nft 1.1.3 (take 2)
Signed-off-by: Maciej Szulik <soltysh@gmail.com>
When oldObj is nil (e.g. new map entry added during update), union
ratcheting incorrectly treats nil old and empty new as unchanged
membership, skipping validation entirely. Fix by checking
reflect.ValueOf(oldObj).IsNil() and disabling ratcheting when
oldObj is nil, so the new value is fully validated.

This affects Union, DiscriminatedUnion, and ZeroOrOneOfUnion
(via unionValidate).
Add tests for Union, DiscriminatedUnion, and ZeroOrOneOfUnion
validating that nil oldObj (new map entry or newly-set pointer
field during update) does not skip validation via ratcheting.
Test that declarative validation catches a DeviceAttribute with no
value fields set, which was the original bug scenario where union
ratcheting incorrectly skipped validation for new map entries.
- Use reflect.ValueOf(oldObj).IsZero() instead of IsNil() so union
  validation works with non-nilable T (e.g. value types)
- Remove hasOldValue guard from inner loop conditionals; only check
  at the final ratcheting skip point
- Add doc comments explaining T is "any" rather than "comparable"
  because union members can be slices
- Add value-type subtests for Union and DiscriminatedUnion

Co-authored-by: Tim Hockin <thockin@google.com>
- Code generator: use len() != 0 for slice/map member extractors
  instead of != nil, so empty slice/map are treated as "not set"
- Add slice and map members to union test types (both discriminated
  and undiscriminated)
- Add test coverage for nil vs empty, ratcheting, and nil oldObj
  with slice/map members

Co-authored-by: Tim Hockin <thockin@google.com>
…-pick-of-#137146-upstream-release-1.35

Automated cherry pick of kubernetes#137146: kubelet: fix containers not restarting when sidecar keeps running
…pick-of-#135685-upstream-release-1.35

Automated cherry pick of kubernetes#135685: Bugfix: calculate request latency properly in audit log filter
When a container restarts before kubelet restarts, containerMap has
multiple entries (old exited + new running). GetContainerID() may
return the exited container, causing the running check to fail. Fixed
by checking if ANY container for the pod/name is running.

Also filter terminal pods from podresources since they no longer
consume resources, and fix test error handling to avoid exiting
Eventually immediately on transient errors.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
terminated pods should not be reported by Get() calls,
we should get an error instead

Signed-off-by: Francesco Romani <fromani@redhat.com>
Currently the provider that the podresources API
consumes does *not* obviously filters out the terminal
pod, and this is corroborated by the fact the related
e2e test starts to fail.
We had a bug in the test which masked the real failure,
but now it's evident.

So we perform a trivial extraction of the kubelet filtering
code and we apply in both places.
Note that the existing flow is unaffected except for the
trivial code extraciton.

Signed-off-by: Francesco Romani <fromani@redhat.com>
… time, includes only stateless and immediately schedulable pods
…ck-of-#138131-upstream-release-1.35

Automated cherry pick of kubernetes#138131: Deflake TestPodSubresourceAuth by waiting for effective permissions before testing
…ck-of-#137904-upstream-release-1.35

Automated cherry pick of kubernetes#137904: KEP-961: demote maxUnavailable feature in statefulset to off by default
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
[release-1.35] Bump images and versions to go 1.25.9 and distroless iptables
…k-of-#135485-upstream-release-1.35

Automated cherry pick of kubernetes#135485: Fix device plugin admission failure after container restart
Kubernetes-commit: 7e9c2c8eef26f99aa2f94d8e09d6d32de86c7769
[release-1.35] Update go.opentelemetry.io/otel to v1.41.0
…-v0.5.1-1.35

[1.35] Update github.com/moby/spdystream from v0.5.0 to v0.5.1
@openshift-ci-robot openshift-ci-robot added the backports/unvalidated-commits Indicates that not all commits come to merged upstream PRs. label Jul 28, 2026
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0c7d9bf5-507b-4871-9f4f-7706116c7e6a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci-robot

Copy link
Copy Markdown

@redhat-chai-bot: the contents of this pull request could not be automatically validated.

The following commits could not be validated and must be approved by a top-level approver:

Comment /validate-backports to re-evaluate validity of the upstream PRs, for example when they are merged upstream.

@openshift-ci
openshift-ci Bot requested review from mrunalp and p0lyn0mial July 28, 2026 13:54
@openshift-ci openshift-ci Bot added the vendor-update Touching vendor dir or related files label Jul 28, 2026
@openshift-ci

openshift-ci Bot commented Jul 28, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: redhat-chai-bot
Once this PR has been reviewed and has the lgtm label, please assign jerpeter1 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

@dusk125

dusk125 commented Jul 28, 2026

Copy link
Copy Markdown

/cc @JSampsonIV @jubittajohn @jacobsee

@openshift-ci

openshift-ci Bot commented Jul 29, 2026

Copy link
Copy Markdown

@redhat-chai-bot: 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-metal-ipi-ovn-ipv6 44b455a link true /test e2e-metal-ipi-ovn-ipv6
ci/prow/e2e-gcp 44b455a link true /test e2e-gcp
ci/prow/k8s-e2e-gcp-serial 44b455a link true /test k8s-e2e-gcp-serial
ci/prow/e2e-aws-ovn-crun 44b455a link true /test e2e-aws-ovn-crun
ci/prow/e2e-aws-ovn-fips 44b455a link true /test e2e-aws-ovn-fips
ci/prow/e2e-aws-ovn-techpreview-serial-1of2 44b455a link false /test e2e-aws-ovn-techpreview-serial-1of2

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.

@JSampsonIV

Copy link
Copy Markdown

/retitle OCPBUGS-100177: Rebase release-4.23 to Kubernetes v1.35.7

@openshift-ci openshift-ci Bot changed the title Rebase release-4.23 to Kubernetes v1.35.7 OCPBUGS-100177: Rebase release-4.23 to Kubernetes v1.35.7 Jul 29, 2026
@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Jul 29, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@redhat-chai-bot: This pull request references Jira Issue OCPBUGS-100177, which is invalid:

  • release note text must be set and not match the template OR release note type must be set to "Release Note Not Required". For more information you can reference the OpenShift Bug Process.
  • expected dependent Jira Issue OCPBUGS-100170 to be in one of the following states: MODIFIED, ON_QA, VERIFIED, but it is POST instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Summary

Rebases the release-4.23 branch from Kubernetes 1.35.3 to v1.35.7 (upstream release 2026-07-22).

Conflicts Resolved

10 files — accepted upstream version:

  • Root go.sum
  • Staging go.mod / go.sum files

OpenShift Dependencies

OpenShift deps (openshift/api, client-go, library-go, apiserver-library-go) kept at their existing pinned versions. The newer branch heads pull in go 1.26 / k8s 1.36 APIs that are incompatible with k8s 1.35.


@dusk125 requested in Slack thread

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 commented Jul 29, 2026

Copy link
Copy Markdown

PR needs rebase.

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.

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 29, 2026
@JSampsonIV

Copy link
Copy Markdown

/jira refresh

@openshift-ci-robot

Copy link
Copy Markdown

@JSampsonIV: This pull request references Jira Issue OCPBUGS-100177, which is invalid:

  • expected the bug to target only the "4.23.0" version, but multiple target versions were set
  • expected dependent Jira Issue OCPBUGS-100170 to be in one of the following states: MODIFIED, ON_QA, VERIFIED, but it is POST instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

Details

In response to this:

/jira refresh

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.

@JSampsonIV

Copy link
Copy Markdown

/jira-refresh
/retest-required

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

Conflict resolution needs to follow the standard documented process & be separated into its own commit. These results cast some doubt on the determinism of the patch rebase process, let's talk about it next week.

@redhat-chai-bot

Copy link
Copy Markdown
Author

Acknowledged — same gap as #2728 and #2729. The conflict resolution should have been in a separate UPSTREAM: <drop>: manually resolve conflicts commit per REBASE.openshift.md. Happy to redo the branch or discuss next week.

Note: this PR also has merge conflicts that will need resolving before it can merge or retests will run cleanly.

@JSampsonIV

Copy link
Copy Markdown

This PR is unneeded, in the time between this rebase and now 4.22 has been rebased to 1.36 instead.

@JSampsonIV

Copy link
Copy Markdown

/close

@openshift-ci openshift-ci Bot closed this Jul 31, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@redhat-chai-bot: This pull request references Jira Issue OCPBUGS-100177. The bug has been updated to no longer refer to the pull request using the external bug tracker.

Details

In response to this:

Summary

Rebases the release-4.23 branch from Kubernetes 1.35.3 to v1.35.7 (upstream release 2026-07-22).

Conflicts Resolved

10 files — accepted upstream version:

  • Root go.sum
  • Staging go.mod / go.sum files

OpenShift Dependencies

OpenShift deps (openshift/api, client-go, library-go, apiserver-library-go) kept at their existing pinned versions. The newer branch heads pull in go 1.26 / k8s 1.36 APIs that are incompatible with k8s 1.35.


@dusk125 requested in Slack thread

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 commented Jul 31, 2026

Copy link
Copy Markdown

@JSampsonIV: Closed this PR.

Details

In response to this:

/close

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backports/unvalidated-commits Indicates that not all commits come to merged upstream PRs. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. vendor-update Touching vendor dir or related files

Projects

None yet

Development

Successfully merging this pull request may close these issues.