OCPBUGS-100178: Rebase release-4.21 to Kubernetes v1.34.10 - #2728
OCPBUGS-100178: Rebase release-4.21 to Kubernetes v1.34.10#2728redhat-chai-bot wants to merge 29 commits into
Conversation
Add a mutex to protect the global policyRefreshInterval. This prevents a data race during tests where SetPolicyRefreshIntervalForTests writes to the variable while a background goroutine reads it.
Move isLearner and isStarted variables to the outer var block of MemberPromote so their values are accessible after the poll loop. After the poll, if isLearner is false the member was already promoted, so return nil early without issuing a redundant promote call.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
When manageJob() needs to create replacement pods but defers creation
because a pod-failure backoff is still active, it returned a hardcoded
active=0 to the caller. Because no pods were actually created or deleted,
this left Status.Active=0 while Status.Ready still reflected the running
pods. The apiserver correctly rejects such updates ("cannot set more
ready pods than active") with a 422, which blocks flushing uncounted
terminated pods, removing finalizers, and updating job status, leaving
pods stuck Terminating with stale status.
Return the real active count from both backoff early-returns instead,
since the deferral does not change the number of active pods.
Issue: kubernetes#139428
(cherry picked from commit 2fe49b0)
…c996af Pins google.golang.org/protobuf to HEAD commit f2248ac996afc39b3df0777cdcc269f6ade50b07 (v1.36.12-0.20260120151049-f2248ac996af) which includes fixes for dead code elimination issues surfaced by Go 1.26's reflect changes. Xref: golang/protobuf#1704 Xref: kubernetes#137445 Signed-off-by: Davanum Srinivas <davanum@gmail.com>
During kubeadm join, the mandatory kubeadm-config ConfigMap fetch uses GetConfigMapWithShortRetry, which has a 350ms polling budget. When the API server is slow to respond, the single GET attempt blocks for up to 10 seconds (the client timeout), exhausting the polling budget with no retry. Since this call site has no fallback, the join fails. Add a shortConfigMapGet parameter to getInitConfigurationFromCluster and FetchInitConfigurationFromCluster. When false, the kubeadm-config ConfigMap is fetched using KubernetesAPICallTimeout (default 1 minute, user-configurable) with retries, matching the pattern used by getAPIEndpointFromPodAnnotation. When true, the existing GetConfigMapWithShortRetry is used for callers like kubeadm reset that don't need a long retry. Signed-off-by: Damiano Donati <damiano.donati@gmail.com>
…-of-139667-release-1.34 Automated cherry pick of kubernetes#139667: fix(kubeadm): use KubernetesAPICallTimeout for mandatory kubeadm-config fetch during join
…-of-#137451-upstream-release-1.34 Automated cherry pick of kubernetes#137451: Update google.golang.org/protobuf to v1.36.12-0.20260120151049-f2248ac996af to prevent file size explosion in go 1.26
…ck-of-#139964-upstream-release-1.34 [1.34] Automated cherry pick of kubernetes#139964: Restore string JSON encoding of cri-api KeyValue
…-pick-of-#139842-upstream-release-1.34 Automated cherry pick of kubernetes#139842: kubeadm: treat already promoted learner as successful
…-pick-of-#138584-upstream-release-1.34 Automated cherry pick of kubernetes#138584: [chore] test/compatibility_lifecycle: resolve feature names from variables
…erry-pick-of-#139457-upstream-release-1.34 Fix job controller reporting active=0 during pod creation backoff [1.34]
…-pick-of-#134829-upstream-release-1.34 Automated cherry pick of kubernetes#134829: test: Fix data race on policy refresh interval
…ck-of-#138390-origin-release-1.34 Automated cherry pick of kubernetes#138390: kubeadm: skip promote call when etcd member is already a voting member
…bles Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>
…ck-of-#139121-upstream-release-1.34 Automated cherry pick of kubernetes#139121: kubelet: defer CRI fallback removal to 1.38
…-pick-of-#140163-upstream-release-1.34 Automated cherry pick of kubernetes#140163: kubelet: stop logging missing optional container annotations
Fix Go 1.26 vet errors
[release-1.34] Bump images and versions to golang 1.25.12 and update distroless-iptables
Kubernetes official release v1.34.10 # Conflicts: # staging/src/k8s.io/apimachinery/go.mod # staging/src/k8s.io/code-generator/go.mod # staging/src/k8s.io/cri-api/go.mod # staging/src/k8s.io/cri-api/go.sum # staging/src/k8s.io/externaljwt/go.sum # staging/src/k8s.io/kms/go.sum # staging/src/k8s.io/kube-proxy/go.mod # staging/src/k8s.io/kubectl/go.mod # staging/src/k8s.io/kubelet/go.mod # staging/src/k8s.io/metrics/go.mod # staging/src/k8s.io/sample-controller/go.mod
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: redhat-chai-bot The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@redhat-chai-bot verify is failing questing if |
|
@dusk125 Good question —
The verify failures break down as:
All three trace back to needing a full make update
make verifyThe compatibility-data step also deleted 546 Happy to answer any other questions about the rebase. |
|
@redhat-chai-bot run |
|
On it — |
|
What changed: 80 files, +44,557 / -1,497 — almost entirely regenerated Update steps:
Verify results after update: 36 passed, 4 failed. The 3 checks that were failing before ( Still skipped: |
5ea1f2c to
a22c701
Compare
|
@redhat-chai-bot: 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. |
jacobsee
left a comment
There was a problem hiding this comment.
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.
|
Acknowledged — you're right that the conflict resolution should have been in a separate Happy to redo the branch with the correct commit structure, or to discuss the process improvements next week — whichever you prefer. |
|
/retitle OCPBUGS-100178: Rebase release-4.21 to Kubernetes v1.34.10 |
|
@redhat-chai-bot: This pull request references Jira Issue OCPBUGS-100178, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. 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. |
|
/jira refresh |
Summary
Rebases the
release-4.21branch from Kubernetes 1.34.9 to v1.34.10 (upstream release 2026-07-22).Conflicts Resolved
11 files — accepted upstream version:
go.mod/go.sumfilesOpenShift 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.34.Reviewer Notes
Two
make updatesteps could not run during the automated rebase and were skipped:update-openapi-spec— kube-apiserver would not start in the workspaceupdate-generated-api-compatibility-data— pre-existing roundtrip panic onrbac/v1alpha1The compatibility-data step deleted 546
testdata/HEADfiles, which were restored in a separate commit (API types are unchanged in a patch bump). CI verify jobs may flag these — regenerate locally if needed.@dusk125 requested in Slack thread