Commit graph

3309 commits

Author SHA1 Message Date
Anish Ramasekar
7262edeb59
fix(admission): reword NodeRestriction audience authorization error
The previous error message said the audience was "not found in pod
spec volume", which led users to mount a spurious projected service
account token volume in the pod spec to satisfy the check. That is
not the intended remedy: kubelets should be authorized via RBAC to
request tokens for the configured audience.

Reword the error to a generic "is not authorized to request tokens
for audience %q" so users are not pushed toward modifying pod specs.
The valid authorization paths (pod spec volume, CSIDriver tokenRequests,
or the request-serviceaccounts-token-audience verb) are documented
in the kubelet credential provider task page.

Update the unit and integration test expectations to match.
2026-05-13 16:30:51 -07:00
Jordan Liggitt
bed4a34ad8
Drop meaningless ,inline from json tags 2026-05-13 11:24:04 -04:00
Kubernetes Prow Robot
cc9fd614c4
Merge pull request #139008 from wojtek-t/revert_pod_group_admission
Revert "KEP-5832: Implement PodGroup admission (#137464)
2026-05-13 19:01:48 +05:30
Kubernetes Prow Robot
f01363b491
Merge pull request #138792 from dims/fix/graph-populator-extended-resource-claim
node: future proof graph populator fast-path to check ExtendedResourceClaimStatus
2026-05-13 12:40:28 +05:30
Wojciech Tyczyński
17460de7bd Revert "KEP-5832: Implement PodGroup admission (#137464) 2026-05-12 21:00:23 +02:00
Davanum Srinivas
a26aef9d0e
node: address yliaog test review comments
- Refine doc comment to note ExtendedResourceClaimStatus may change under
  rare condition after a pod is bound to a node.
- Seed the initial pod with ExtendedResourceClaimStatus{extended-claim-0}
  and RequestMappings so the test exercises the change scenario yliaog
  described rather than nil-to-set.
- Update the inline comment and assertion messages to reflect the swap
  from extended-claim-0 to extended-claim-1.
2026-05-12 08:20:12 -04:00
Joe Betz
f79a4d72f2
Generate model names 2026-05-11 12:27:55 -04:00
Kubernetes Prow Robot
d9fb718434
Merge pull request #138874 from michaelasp/svmPatch
Switch to regular merge patch for SVM
2026-05-08 09:21:16 +05:30
Michael Aspinwall
7847ab6b00 Switch to regular merge patch for SVM 2026-05-08 00:31:26 +00:00
Lucas Käldström
7e3c734947 Add the Unconditional prefix to Authorizer and WantsAuthorizer interfaces 2026-05-07 22:22:14 +03:00
Kubernetes Prow Robot
74f4ad5e38
Merge pull request #138698 from michaelasp/circuitBreaker
Ensure leases are not stale in node controller before marking unhealthy
2026-05-05 23:34:21 +05:30
Davanum Srinivas
2490cfa4f5
node: fix graph populator fast-path to check ExtendedResourceClaimStatus
Pods using DRAExtendedResource (e.g. nvidia.com/gpu) have no
Spec.ResourceClaims, so ResourceClaimStatuses stays nil. The updatePod
fast-path skipped AddPod when only ExtendedResourceClaimStatus changed,
leaving the synthesized claim→pod→node edge out of the authorization graph.

Add PodExtendedStatusEqual to the fast-path guard, matching what the
scheduler event handler already does in events.go.
2026-05-05 11:50:20 -04:00
Michael Aspinwall
9991d72c6b Add circuit breaker approach to ensure leases are not stale in node controller 2026-05-04 22:14:10 +00:00
Anish Ramasekar
b2e27e8986
Drop AuthorizeWithSelectors feature gate
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-04-28 13:32:29 -07:00
Anish Ramasekar
b1c8bf1e32
Drop AuthorizeNodeWithSelectors feature gate
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-04-28 10:10:52 -07:00
Mujib Ahasan
b9b0ff440d remove accidently commited file
Signed-off-by: Mujib Ahasan <ahasanmujib8@gmail.com>
2026-04-04 12:53:30 +05:30
Antonio Ojea
adbf3b5aa5
Add granular authorization for DRA ResourceClaim status updates
This commit introduces the DRAResourceClaimGranularStatusAuthorization
feature gate (Beta in 1.36) to enforce fine-grained authorization checks
on ResourceClaim status updates.

Previously, 'update' permission on 'resourceclaims/status' allowed modifying
the entire status. To enforce the principle of least privilege for DRA
drivers and the scheduler, this change introduces synthetic subresources and
verb prefixes:

- 'resourceclaims/binding': Required to update 'status.allocation' and
  'status.reservedFor'.
- 'resourceclaims/driver': Required to update 'status.devices'. Evaluated
  on a per-driver basis using 'associated-node:<verb>' (for node-local
  ServiceAccounts) or 'arbitrary-node:<verb>' (for cluster-wide controllers).
2026-03-26 13:22:09 +00:00
Antoni Zawodny
59c9f75133 Add Workload-Aware Preemption fields to Workload and PodGroup APIs
Co-authored-by: Omar Sayed <omarsayed@google.com>
2026-03-24 09:03:50 +01:00
Jon Huhn
d80f384b70 Workload API: PodGroup ResourceClaims (KEP-5729) 2026-03-22 14:52:45 -05:00
Kubernetes Prow Robot
15eaed180f
Merge pull request #137028 from nmn3m/feature/dra-resource-pool-status
KEP-5677: Add ResourcePoolStatusRequest API for DRA resource availability visibility
2026-03-21 08:16:13 +05:30
Heba
cf5ba01d13
KEP-5832: Implement PodGroup admission (#137464)
* Add admission for podGroup

Signed-off-by: helayoty <heelayot@microsoft.com>

* Create workload object before podgroup

Signed-off-by: helayoty <heelayot@microsoft.com>

---------

Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-19 21:32:34 +05:30
Nour
30fe79df21
Add ResourcePoolStatusRequest controller, registry, and RBAC
Implement the RPSR controller that watches ResourcePoolStatusRequest
objects and aggregates pool status from DRA drivers. Add the API server
registry (strategy, storage), handwritten validation, RBAC bootstrap
policy for the controller, kube-controller-manager wiring, table
printer columns, and storage factory registration.
2026-03-19 16:50:02 +02:00
Kubernetes Prow Robot
9d02f5f918
Merge pull request #137032 from helayoty/helayoty/5547-workload-job-integration
KEP-5547: Implement Workload APIs integration with Job controller
2026-03-19 17:10:31 +05:30
helayoty
981a333927
Add admission plugin for update parallelism
Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-18 22:32:57 +00:00
Roman Bednar
6c087b2724 add unused condition to persistent volume claims 2026-03-18 17:08:08 -04:00
helayoty
68e30095de
Implement Workload and PodGroup integration with Job controller
Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-18 20:32:37 +00:00
helayoty
fc88e37288
Add admission plugin for PodGroup to add finalizer to every new object
Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-18 15:28:14 +00:00
helayoty
0ef8d78d1d
Add new protection controller for PodGroup
Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-18 15:27:17 +00:00
Kubernetes Prow Robot
e1be691e7f
Merge pull request #136043 from natasha41575/os_feasibility
[InPlacePodVerticalScaling] create an admission plugin to perform the OS and node capacity checks
2026-03-18 03:23:39 +05:30
Natasha Sarkar
fd8c6d3e2e add pod resize feasibility check admission plugin 2026-03-17 17:12:31 +00:00
Kubernetes Prow Robot
1817e10998
Merge pull request #136185 from tallclair/ndf-bitmap
Optimize NodeDeclaredFeatures with a bitmap FeatureSet implementation
2026-03-14 06:37:34 +05:30
Antoni Zawodny
6511deadd8 Refactor Priority admission plugin 2026-03-13 12:21:37 +01:00
Tim Allclair
f91f641a65 Switch to bitmapped FeatureSet implementation. 2026-03-13 04:28:16 +00:00
Tim Allclair
e4521526b4 NodeDeclaredFeatures: Add global default NDF registry 2026-03-13 04:28:16 +00:00
Kubernetes Prow Robot
50e7571f48
Merge pull request #137669 from tallclair/push-vzwskkoluxyu
plugin/pkg/admission/nodedeclaredfeatures OWNERS
2026-03-13 02:03:44 +05:30
Kubernetes Prow Robot
4e2bbc78bf
Merge pull request #137170 from pohly/dra-device-taints-beta
DRA device taints: graduate to beta
2026-03-13 00:13:38 +05:30
Patrick Ohly
566dc7f3f3 DRA device taints: graduate to beta
The fields become beta, enabled by default. DeviceTaintRule gets
added to the v1beta2 API, but support for it must remain off by default
because that API group is also off by default.

The v1beta1 API is left unchanged. No-one should be using it
anymore (deprecated in 1.33, could be removed now if it wasn't for
reading old objects and version emulation).

To achieve consistent validation, declarative validation must be enabled also
for v1alpha3 (was already enabled for other versions). Otherwise,
TestVersionedValidationByFuzzing fails:

    --- FAIL: TestVersionedValidationByFuzzing (0.09s)
        --- FAIL: TestVersionedValidationByFuzzing/resource.k8s.io/v1beta2,_Kind=DeviceTaintRule (0.00s)
            validation_test.go:109: different error count (0 vs. 1)
                resource.k8s.io/v1alpha3: <no errors>
                resource.k8s.io/v1beta2: "spec.taint.effect: Unsupported value: \"幤HxÒQP¹¬永唂ȳ垞ş]嘨鶊\": supported values: \"NoExecute\", \"NoSchedule\", \"None\""
            ...
2026-03-12 18:26:02 +01:00
Tim Allclair
162be9e8ea plugin/pkg/admission/nodedeclaredfeatures OWNERS 2026-03-12 16:51:03 +00:00
Kubernetes Prow Robot
38940f0222
Merge pull request #135297 from michaelasp/svmUpdateCRD
Remove CRD stored versions from status upon SVM migration
2026-03-11 08:03:09 +05:30
Michael Aspinwall
d274e05cc9 Remove CRD stored versions from status upon SVM migration 2026-03-11 00:50:27 +00:00
Richa Banker
a902b8ffdc Graduate ComponentFlagz feature gate to Beta 2026-03-10 09:50:16 -07:00
Kubernetes Prow Robot
ec451e29ab
Merge pull request #137384 from richabanker/statusz-beta
Graduate ComponentStatusz feature gate to Beta
2026-03-10 19:29:28 +05:30
Antoni Zawodny
3f094dc228
Create Workload API v1alpha2 (#136976)
* Drop WorkloadRef field and introduce SchedulingGroup field in Pod API

* Introduce v1alpha2 Workload and PodGroup APIs, drop v1alpha1 Workload API

Co-authored-by: yongruilin <yongrlin@outlook.com>

* Run hack/update-codegen.sh

* Adjust kube-scheduler code and integration tests to v1alpha2 API

* Drop v1alpha1 scheduling API group and run make update

---------

Co-authored-by: yongruilin <yongrlin@outlook.com>
2026-03-10 07:59:10 +05:30
Richa Banker
682570580d Graduate ComponentStatusz feature gate to Beta 2026-03-09 15:00:26 -07:00
Kubernetes Prow Robot
090693bd79
Merge pull request #137497 from atombrella/feature/modernize_activate_forvar
Lint: Activate modernize/forvar rule in golangci-lint.
2026-03-09 14:01:11 +05:30
Mads Jensen
dd32d7c324 Lint: Activate modernize/forvar rule in golangci-lint. 2026-03-06 21:36:05 +01:00
Kubernetes Prow Robot
f5bafe93ac
Merge pull request #135048 from yliaog/beta_promo
DRA Extended Resource: promote to Beta in 1.36
2026-03-07 01:12:19 +05:30
Richa Banker
426bb7cded Fix auth registration for statusz and flagz
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2026-03-05 16:31:27 -08:00
Kubernetes Prow Robot
85e4e386d4
Merge pull request #137171 from liggitt/component-helpers-deps
Clean up direct external dependencies from component-helpers
2026-02-24 02:23:35 +05:30
Jordan Liggitt
4ab6ae2a59
Drop direct use of github.com/stretchr/testify in component-helpers 2026-02-20 14:50:15 -05:00