Rebase release-5.0 to Kubernetes v1.36.4 (automation verification) - #2778
redhat-chai-bot wants to merge 20 commits into
Conversation
Change-Id: Id5e68c515d3b4d7c55be72da081604aad8705c76
checkAvailableCounters caches per-pool counter availability under the pool name alone: availableCounters and consumedCounters are keyed by pool.PoolID.Pool. A pool is identified by its driver and name together, and the allocator keys its pool map by PoolID. When two drivers publish a pool with the same name on the same node and both consume counters, the name-only key collides: the second pool's devices are evaluated against the first driver's cached counter set definition and aggregate consumption instead of their own, so a device can be incorrectly rejected or accepted. Key both counter caches by PoolID (driver and pool) instead of the pool name, matching how the pool map is keyed. PoolID is a comparable value, so the map type now enforces the pool identity: a lookup can no longer be written with the pool name alone. All three allocator variants (stable, incubating, experimental) carry the same shape and are fixed together, and their stale "resource pool names" comments are corrected. Two regression cases live in the shared allocatortesting table so they run against every variant. counter-cache-scoped-by-pool-ID gives the two same-named pools different counter capacities, so it fails unless both caches are keyed by PoolID. counter-cache-not-crossed-between-driver- schemas gives them different counter sets and over-consumes the second, covering the incorrect-accept direction. Both fail on the current code and pass with the change. (cherry picked from commit 2065125)
PrepareResources appends devices to a claim's DriverState as each per-driver NodePrepareResources response comes in. If a driver in the batch returns before the setPrepared step and another driver in the same batch subsequently fails, the successful driver's devices stay in the cache with prepared=false. On retry, isPrepared() is false, so the claim is re-batched, the driver's response is applied again, and its devices end up duplicated in DriverState. This can cause CRI runtimes to fail container start or attach devices twice. Treat the driver's response as authoritative for the (claim, driver) pair: clear the pre-existing device list before rebuilding it from the response.
Store gained Bookmark and LastStoreSyncResourceVersion in kubernetes#134827 without FakeCustomStore being updated, so the fake no longer satisfies cache.Store and downstream test code fails to compile. Add the two func fields and delegating methods following the file's existing pattern, plus a compile-time assertion so a future Store change cannot silently break the fake again.
Co-authored-by: hai.yue <20416005+yuehaii@users.noreply.github.com>
…ry-pick-of-#140966-upstream-release-1.36 Automated cherry pick of kubernetes#140966: client-go: restore FakeCustomStore conformance to cache.Store
Update to golang.org/x/text@v0.39.0+ for https://pkg.go.dev/vuln/GO-2026-5970 Update to golang.org/x/net@v0.55.0+ for https://pkg.go.dev/vuln/GO-2026-5026
…ick-of-#138837-upstream-release-1.36 Automated cherry pick of kubernetes#138837: Clarify multi-attach events
…ry-pick-of-#140387-upstream-release-1.36 [1.36] Automated cherry pick of kubernetes#140387: Always set UpdatePodResources when a starting container is resized
…backport-1.36 Automated cherry pick of kubernetes#140435: DRA: key the structured allocator counter caches by PoolID
…-pick-of-#139162-kubernetes#139330-kubernetes#139331-release-1.36 Automated cherry pick of kubernetes#139162: Fix case where preemptor may be stuck in unschedulable queue kubernetes#139330: Unset WasFlushedFromUnschedulable for gated pods kubernetes#139331: Make sure gated pods are flushed with the same frequency as non-gated
…ck-of-#140274-upstream-release-1.36 Automated cherry pick of kubernetes#140274: kubelet/dra: reset devices before processing gRPC response
Update golang.org/x deps
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
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: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
@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 |
|
[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: The following test 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. |
Purpose
This pull request was generated by rerunning the repository-prescribed
openshift-hack/rebase.shautomation forrelease-5.0and Kubernetesv1.36.4. It is a verification PR only; please do not merge it alongside openshift/kubernetes#2776.Automation
openshift-hack/rebase.sh --k8s-tag=v1.36.4 --openshift-release=release-5.01910745f8f81ca79579089b63a181490351e9943b376ee7b841bed5a51cb9520b37d87931c48a821Validation
makepassedmake verifypassedmake updatepassedgit diff --checkpassedComparison with #2776
bb39ed79c7e3c288f27a3b6fe44a803f83d730381910745f8f81ca79579089b63a181490351e9943d5dfe0774a1621ae332671d78ac5eebf3552fcd698ebe31ff4ee3f5ca750369515b02ff173dac5ca4f0d18fbad5968a8f7f6c4dd)AI-generated. Review for accuracy.
@jubittajohn requested in Slack thread