Commit Graph

54830 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
92e82427f5 Merge pull request #136623 from macsko/scheduling_queue_test_cleanup
Cleanup scheduling queue tests to use cmp.Diff instead of direct pod comparisons
2026-01-29 22:39:50 +05:30
Kubernetes Prow Robot
250e18904e Merge pull request #136050 from ShaanveerS/fix-selinuxwarning-verbosity
fix(controller/volume): convert V().Error() to V().Info()
2026-01-29 21:11:58 +05:30
Kubernetes Prow Robot
8d05750d56 Merge pull request #135262 from cmuuss/auditrulegroupwildcards
added wildcard * for GroupResources to allow filtering of noisy subgr…
2026-01-29 21:11:51 +05:30
Maciej Skoczeń
01540ed1d5 Cleanup scheduling queue tests to use cmp.Diff instead of direct pod comparisons 2026-01-29 13:08:00 +00:00
Christian Muuß
ea3bfd9ea0 feat: Allow wildcard '*' for API groups in audit policy rules 2026-01-29 08:17:10 +00:00
Anish Ramasekar
d6d215821a Mark CSIServiceAccountTokenSecrets feature gate as GA
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-01-28 14:41:34 -06:00
Kubernetes Prow Robot
a57b4befdf Merge pull request #136587 from saschagrunert/test-getimageref-deduplication
kubelet: add test for GetImageRef content-based deduplication
2026-01-28 22:18:21 +05:30
Kubernetes Prow Robot
52ed30246d Merge pull request #136537 from soltysh/missing_schemas
Generate applyconfigurations for kube-aggregator and sample-apiserver
2026-01-28 22:18:05 +05:30
Kubernetes Prow Robot
4ffc49fb3e Merge pull request #136226 from HirazawaUi/fix-kubelet-race-3
Fix data race in kubelet pod allocated resources
2026-01-28 22:17:49 +05:30
Kubernetes Prow Robot
a41a5c35d3 Merge pull request #135106 from bkhadars/enable-commentstart1
enable commentstart check on admissionregistration API group
2026-01-28 20:39:53 +05:30
Kubernetes Prow Robot
7002ccc892 Merge pull request #136206 from HirazawaUi/fix-kubelet-race-2
Fix data race in kubelet container manager
2026-01-28 19:29:58 +05:30
Kubernetes Prow Robot
664efa8627 Merge pull request #136205 from HirazawaUi/fix-kubelet-race-1
Fix data race in kubelet status manager
2026-01-28 19:29:49 +05:30
Kubernetes Prow Robot
9a1f9cbab6 Merge pull request #136541 from bart0sh/PR220-kubelet-dra-improve-contextual-logging
Kubelet: DRA: improve contextual logging
2026-01-28 15:31:53 +05:30
Sascha Grunert
d088372d98 Add test for GetImageRef content-based deduplication
Adds TestGetImageRefReturnsImageIdNotRepoDigest to verify that GetImageRef
returns Image.Id instead of RepoDigests. This ensures content-based
deduplication where the same image pulled from different registries is
treated as identical content rather than separate images.

The test prevents regression of the issue fixed in the revert of cb011623c8
where using RepoDigests[0] caused location-dependent identity
(registry.io/image@sha256:...) instead of content-based identity
(sha256:...), breaking deduplication and creating separate pull records
for identical image content.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2026-01-28 09:24:10 +01:00
Kubernetes Prow Robot
8ccb55ffef Merge pull request #136040 from petern48/error-level-logs
fix(controller/resourcequota, controller/garbagecollector): Change V().Error() to V().Info()
2026-01-28 03:27:48 +05:30
Kubernetes Prow Robot
4d212f7f47 Merge pull request #136558 from saschagrunert/revert-135369-getimageref-logic
Revert GetImageRef to use Image.Id instead of RepoDigests
2026-01-27 21:44:01 +05:30
Kubernetes Prow Robot
3dd404d7cd Merge pull request #136544 from aramase/aramase/c/rm_structured_authz_fg
Drop StructuredAuthorizationConfiguration feature gate
2026-01-27 21:43:52 +05:30
Ed Bartosh
3b4e56e09c kubelet: DRA: plugin: set logging prefix 2026-01-27 18:09:16 +02:00
Ed Bartosh
1c913f6e9c kubelet: DRA: manager: set logging prefix 2026-01-27 18:09:11 +02:00
Kubernetes Prow Robot
be658b44f3 Merge pull request #136441 from kannon92/remove-alpha-api-dra
remove alpha comments for GA or beta resource fields
2026-01-27 20:16:00 +05:30
Kubernetes Prow Robot
1087ff613a Merge pull request #136454 from ania-borowiec/log_illegal_state
Log error when UpdatePod finds no existing PodGroup for the pod
2026-01-27 18:01:50 +05:30
Ania Borowiec
48c4605408 Add logging error when UpdatePod finds no existing PodGroup with the pod to update 2026-01-27 11:42:03 +00:00
Kubernetes Prow Robot
5c9977b892 Merge pull request #136202 from RomanBednar/fix-csi-plugin-backoff
csi: raise kubelet CSI init backoff to cover ~140s DNS delays
2026-01-27 15:47:48 +05:30
Sascha Grunert
6b6c596a60 Revert GetImageRef to use Image.Id instead of RepoDigests
Partially reverts cb011623c8 from #135369.

Using RepoDigests[0] as image identity causes credential verification
issues because it makes identity location-dependent (registry.io/image@sha256:...)
instead of content-based (sha256:...). This defeats deduplication and
creates separate pull records for identical image content from different
registries.

ImagePulledRecord already handles per-registry credentials via its
two-level design: ImageRef identifies content, CredentialMapping tracks
registry-specific credentials.

Related: #136498, #136549
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2026-01-27 09:41:04 +01:00
Kubernetes Prow Robot
028015267e Merge pull request #136116 from vinayakankugoyal/ga
KEP:2862 Graduate to STABLE.
2026-01-27 05:09:49 +05:30
Kubernetes Prow Robot
2c9cc8da1a Merge pull request #135763 from darshansreenivas/admissionregistratio_k8s_io_ValidationAction
feat: wire admissionregistration group for declarative validation and +k8s:required to ValidatingAdmissionPolicyBindingSpec.ValidationActions
2026-01-27 03:23:53 +05:30
Anish Ramasekar
a1478c7730 Drop StructuredAuthorizationConfiguration feature gate
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-01-26 11:35:39 -06:00
Kubernetes Prow Robot
efc15394a1 Merge pull request #135573 from brejman/issue-129733-score-update
Update scoring function for balanced allocation to consider change to the node's balance
2026-01-26 21:49:52 +05:30
Ed Bartosh
2f82dc6dce kubelet: DRA: claiminfo: improve logging
- got rid of embedding logger into a struct
- added logging prefix
2026-01-26 17:43:38 +02:00
Ed Bartosh
acff01fe8b kubelet: DRA: healthinfo: set logging prefix 2026-01-26 17:43:38 +02:00
Ed Bartosh
7933d90815 kubelet/dra: get rid of Background calls
Removed almost all remaining context.Background and klog.Background
calls, pass context or logger instead.
2026-01-26 17:43:38 +02:00
Kubernetes Prow Robot
53b29a3a2c Merge pull request #136269 from pohly/dra-scheduler-double-allocation-fixes
DRA scheduler: double allocation fixes
2026-01-26 20:59:50 +05:30
Patrick Ohly
581ee0a2ec DRA scheduler: fix another root cause of double device allocation
GatherAllocatedState and ListAllAllocatedDevices need to collect information
from different sources (allocated devices, in-flight claims), potentially even
multiple times (GatherAllocatedState first gets allocated devices, then the
capacities).

The underlying assumption that nothing bad happens in parallel is not always
true. The following log snippet shows how an update of the assume
cache (feeding the allocated devices tracker) and in-flight claims lands such
that GatherAllocatedState doesn't see the device in that claim as allocated:

    dra_manager.go:263: I0115 15:11:04.407714      18778] scheduler: Starting GatherAllocatedState
    ...
    allocateddevices.go:189: I0115 15:11:04.407945      18066] scheduler: Observed device allocation device="testdra-all-usesallresources-hvs5d.driver/worker-5/worker-5-device-094" claim="testdra-all-usesallresources-hvs5d/claim-0553"
    dynamicresources.go:1150: I0115 15:11:04.407981      89109] scheduler: Claim stored in assume cache pod="testdra-all-usesallresources-hvs5d/my-pod-0553" claim="testdra-all-usesallresources-hvs5d/claim-0553" uid=<types.UID>: a84d3c4d-f752-4cfd-8993-f4ce58643685 resourceVersion="5680"
    dra_manager.go:201: I0115 15:11:04.408008      89109] scheduler: Removed in-flight claim claim="testdra-all-usesallresources-hvs5d/claim-0553" uid=<types.UID>: a84d3c4d-f752-4cfd-8993-f4ce58643685 version="1211"
    dynamicresources.go:1157: I0115 15:11:04.408044      89109] scheduler: Removed claim from in-flight claims pod="testdra-all-usesallresources-hvs5d/my-pod-0553" claim="testdra-all-usesallresources-hvs5d/claim-0553" uid=<types.UID>: a84d3c4d-f752-4cfd-8993-f4ce58643685 resourceVersion="5680" allocation=<
        	{
        	  "devices": {
        	    "results": [
        	      {
        	        "request": "req-1",
        	        "driver": "testdra-all-usesallresources-hvs5d.driver",
        	        "pool": "worker-5",
        	        "device": "worker-5-device-094"
        	      }
        	    ]
        	  },
        	  "nodeSelector": {
        	    "nodeSelectorTerms": [
        	      {
        	        "matchFields": [
        	          {
        	            "key": "metadata.name",
        	            "operator": "In",
        	            "values": [
        	              "worker-5"
        	            ]
        	          }
        	        ]
        	      }
        	    ]
        	  },
        	  "allocationTimestamp": "2026-01-15T14:11:04Z"
        	}
         >
    dra_manager.go:280: I0115 15:11:04.408085      18778] scheduler: Device is in flight for allocation device="testdra-all-usesallresources-hvs5d.driver/worker-5/worker-5-device-095" claim="testdra-all-usesallresources-hvs5d/claim-0086"
    dra_manager.go:280: I0115 15:11:04.408137      18778] scheduler: Device is in flight for allocation device="testdra-all-usesallresources-hvs5d.driver/worker-5/worker-5-device-096" claim="testdra-all-usesallresources-hvs5d/claim-0165"
    default_binder.go:69: I0115 15:11:04.408175      89109] scheduler: Attempting to bind pod to node pod="testdra-all-usesallresources-hvs5d/my-pod-0553" node="worker-5"
    dra_manager.go:265: I0115 15:11:04.408264      18778] scheduler: Finished GatherAllocatedState allocatedDevices=<map[string]interface {} | len:2>: {

Initial state: "worker-5-device-094" is in-flight, not in cache
- goroutine #1: starts GatherAllocatedState, copies cache
- goroutine #2: adds to assume cache, removes from in-flight
- goroutine #1: checks in-flight

=> device never seen as allocated

This is the second reason for double allocation of the same device in two
different claims. The other was timing in the assume cache. Both were
tracked down with an integration test (separate commit). It did not fail
all the time, but enough that regressions should show up as flakes.
2026-01-26 15:44:48 +01:00
Kubernetes Prow Robot
584add12b6 Merge pull request #136457 from tosi3k/workload-helper
Extract helper methods from gang scheduling plugin
2026-01-26 20:01:51 +05:30
Bartosz
720d648d2f Remove outdated test for scoring zero request pods 2026-01-26 14:26:52 +00:00
Bartosz
56ca09911f Refactor resource allocation tests to be more readable 2026-01-26 14:26:46 +00:00
Bartosz
8f5f69bc70 Change scoring function for balanced allocation 2026-01-26 14:22:46 +00:00
Kubernetes Prow Robot
437184c055 Merge pull request #136292 from atombrella/feature/modernize_plusbuild
Remove obsolete `// +build` instruction.
2026-01-26 19:05:59 +05:30
Kubernetes Prow Robot
ac2ce676c1 Merge pull request #136249 from Yuvraj02/qos-cgroup-cpu-shares-test
kubelet: add unit tests for QoS CPU shares update
2026-01-26 19:05:51 +05:30
Maciej Szulik
46082bd565 Generate applyconfigurations for kube-aggregator
Signed-off-by: Maciej Szulik <soltysh@gmail.com>
2026-01-26 14:23:51 +01:00
Antoni Zawodny
8b39544d60 Extract helper methods from gang scheduling plugin 2026-01-26 13:45:26 +01:00
Yuvraj
9b05946801 kubelet: add unit tests for QoS CPU shares update
Signed-off-by: Yuvraj <yuvrajsinghbhadoria@gmail.com>
2026-01-25 13:20:07 +05:30
MohammedSaalif
4925c6bea4 DRA: support non-pod references in ReservedFor (#136450)
* DRA: support non-pod references in ReservedFor

Signed-off-by: MohammedSaalif <salifud2004@gmail.com>

* Expand reservation validation comment in syncClaim as suggested by mortent

* Address feedback: rename valid to remaining and remove obsolete TODO

---------

Signed-off-by: MohammedSaalif <salifud2004@gmail.com>
2026-01-25 00:28:13 +05:30
darshansreenivas
0b635116f1 feat(admissionregistration): enable declarative validation wiring and require ValidationActions 2026-01-24 03:46:24 -08:00
Darshan Murthy
b4947a5891 feat(storage): enable validation-gen + DV wiring for storage.k8s.io (#135438)
* Enable DV coverage for VolumeAttachmentSpec.Attacher validation

update code-gen

* addressing PR comments
2026-01-24 14:29:26 +05:30
Kubernetes Prow Robot
7cdeb11327 Merge pull request #135800 from danwinship/nftables-hairpin
rework nftables masquerading code, part 1
2026-01-24 10:33:39 +05:30
Kubernetes Prow Robot
5eb7087ccb Merge pull request #135761 from darshansreenivas/admissionregistratio_k8s_io_policy_name
feat: wire admissionregistration group for declarative validation and +k8s:required to ValidatingAdmissionPolicyBindingSpec.PolicyName
2026-01-24 10:33:31 +05:30
Kubernetes Prow Robot
0c127dd954 Merge pull request #135291 from xuzhenglun/fix-ut
fix case title in kubelet/server unit
2026-01-24 07:39:28 +05:30
Kubernetes Prow Robot
62cbba593b Merge pull request #136413 from hoteye/migrate-kubelet-getnode-context
kubelet: migrate kubelet_getters.go to contextual logging
2026-01-23 23:35:37 +05:30
Kubernetes Prow Robot
4c221cdc56 Merge pull request #133335 from bart0sh/PR190-pluginmanager-fix-handling-registration-failures
pluginmanager: fix handling registration failures
2026-01-23 23:35:29 +05:30