Commit graph

8 commits

Author SHA1 Message Date
Jon Huhn
8f8e42a64e scheduler: Add resourceVersion to Pod status patch
When a Pod fails to asynchronously bind, a race occurs between the patch
to add the `PodScheduled=False` condition and a subsequent binding
attempt. If binding succeeds and adds `PodScheduled=True` before the
`PodScheduled=False` condition is set, then the last update persists
where the Pod is scheduled with a `spec.nodeName` but still has the
`PodScheduled=False` condition.

This change adds the `metadata.resourceVersion` of the Pod to patches so
these conflicts can be detected and handled appropriately.
2026-06-09 13:43:40 -05:00
Ed Bartosh
e6e9fce2c6 scheduler/dra: remove redundant nil check
currentClaimStatus.Resources is initialized as an empty map when the
struct is constructed, so the nil check is a dead code.
2026-04-22 17:12:43 +03:00
Praveen Krishna
3cd22dcb4f Verify that assumed pod NodeAllocatableResourceClaimStatuses matches the status to patch. 2026-03-18 19:20:11 +00:00
Praveen Krishna
11c8bf1f13 Cleanup NodeAllocatableDRAClaimStatus in Unreserve 2026-03-18 19:20:11 +00:00
Praveen Krishna
cdcfc4eeb3 Add integration tests. 2026-03-18 19:20:10 +00:00
Praveen Krishna
a84f938404 Validate Pod resources cover container and DRA requests. 2026-03-18 19:20:10 +00:00
Praveen Krishna
628365297a Add validation check to disallow node-allocatable resource claim sharing. 2026-03-18 19:20:10 +00:00
Praveen Krishna
af186d3534 Implement changes in DRA Plugin to handle node-allocatable claims
* Filter: Calculate the pod's total resource footprint by combining spec requests and DRA allocations, respecting accounting policies. Perform node resource fit checks. Cache the resulting NodeAllocatableResourceClaimStatus in CycleState.
* PreBind: Retrieve result from CycleState and patch it into Pod.Status.
2026-03-18 19:17:30 +00:00