Commit Graph

29356 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
eb09a3c23e Merge pull request #135395 from pohly/apimachinery-wait-for-cache-sync
apimachinery + client-go + device taint eviction unit test: context-aware Start/WaitFor, waiting through channels
2026-02-11 06:11:59 +05:30
Kubernetes Prow Robot
c9534cbb2e Merge pull request #134981 from haircommander/drop-cpu-load
kubelet: drop cpu load metrics from container metrics test
2026-02-11 03:00:01 +05:30
Kubernetes Prow Robot
3e15c6fe2f Merge pull request #136911 from pohly/dra-e2e-data-race
DRA E2E: fix data race in test driver
2026-02-11 01:24:08 +05:30
Kubernetes Prow Robot
e7f26c678a Merge pull request #136339 from ffromani/deprecate-customcpucfsquota-fg-not-feature
move to GA the `CustomCPUCFSquota` feature gate (was: deprecate the FG,  not the feature)
2026-02-11 00:08:04 +05:30
Patrick Ohly
0511a75685 DRA E2E: fix data race in test driver
UnprepareResourceClaims was not locking the mutex and thus raced with
GetPreparedResources, as found when data race detection was enabled in
kubernetes-kind-dra-all.

The locking gets added at the same level as in PrepareResourceClaims, i.e. in
the underlying implementation right before doing the actual work.

    WARNING: DATA RACE
    Write at 0x00c0047e03c0 by goroutine 9325:
      runtime.mapdelete()
          runtime/map_swiss.go:139 +0x0
      k8s.io/kubernetes/test/e2e/dra/test-driver/app.(*ExamplePlugin).nodeUnprepareResource()
          k8s.io/kubernetes/test/e2e/dra/test-driver/app/kubeletplugin.go:483 +0x391
      k8s.io/kubernetes/test/e2e/dra/test-driver/app.(*ExamplePlugin).UnprepareResourceClaims()
          k8s.io/kubernetes/test/e2e/dra/test-driver/app/kubeletplugin.go:496 +0x19d
      k8s.io/dynamic-resource-allocation/kubeletplugin.(*nodePluginImplementation).NodeUnprepareResources()
          k8s.io/dynamic-resource-allocation/kubeletplugin/draplugin.go:941 +0x4c1
      k8s.io/kubelet/pkg/apis/dra/v1._DRAPlugin_NodeUnprepareResources_Handler.func1()
          k8s.io/kubelet/pkg/apis/dra/v1/api_grpc.pb.go:181 +0xbe
      k8s.io/kubernetes/test/e2e/dra/test-driver/app.(*ExamplePlugin).recordGRPCCall()
          k8s.io/kubernetes/test/e2e/dra/test-driver/app/kubeletplugin.go:523 +0x2a6
      k8s.io/kubernetes/test/e2e/dra/test-driver/app.(*ExamplePlugin).recordGRPCCall-fm()
          <autogenerated>:1 +0x8f
      google.golang.org/grpc.getChainUnaryHandler.func1()
          google.golang.org/grpc@v1.78.0/server.go:1241 +0x23c
      k8s.io/kubernetes/test/e2e/dra/utils.(*Driver).interceptor()
          k8s.io/kubernetes/test/e2e/dra/utils/deploy.go:1045 +0x37d
      k8s.io/kubernetes/test/e2e/dra/utils.(*Driver).SetUp.func8()
          k8s.io/kubernetes/test/e2e/dra/utils/deploy.go:657 +0xb2
      google.golang.org/grpc.getChainUnaryHandler.func1.getChainUnaryHandler.1()
          google.golang.org/grpc@v1.78.0/server.go:1241 +0x11e
      k8s.io/dynamic-resource-allocation/kubeletplugin.(*grpcServer).interceptor()
          k8s.io/dynamic-resource-allocation/kubeletplugin/nonblockinggrpcserver.go:157 +0x545
      k8s.io/dynamic-resource-allocation/kubeletplugin.(*grpcServer).interceptor-fm()
          <autogenerated>:1 +0x8f
      google.golang.org/grpc.getChainUnaryHandler.func1()
          google.golang.org/grpc@v1.78.0/server.go:1241 +0x23c
      k8s.io/dynamic-resource-allocation/kubeletplugin.startGRPCServer.unaryContextInterceptor.func2()
          k8s.io/dynamic-resource-allocation/kubeletplugin/nonblockinggrpcserver.go:99 +0x7e
      google.golang.org/grpc.NewServer.chainUnaryServerInterceptors.chainUnaryInterceptors.func1()
          google.golang.org/grpc@v1.78.0/server.go:1232 +0xe7
      k8s.io/kubelet/pkg/apis/dra/v1._DRAPlugin_NodeUnprepareResources_Handler()
          k8s.io/kubelet/pkg/apis/dra/v1/api_grpc.pb.go:183 +0x1e6
      google.golang.org/grpc.(*Server).processUnaryRPC()
          google.golang.org/grpc@v1.78.0/server.go:1428 +0x1a69
      google.golang.org/grpc.(*Server).handleStream()
          google.golang.org/grpc@v1.78.0/server.go:1832 +0x185b
      google.golang.org/grpc.(*Server).serveStreams.func2.1()
          google.golang.org/grpc@v1.78.0/server.go:1063 +0x149

    Previous read at 0x00c0047e03c0 by goroutine 9257:
      runtime.mapIterStart()
          runtime/map_swiss.go:160 +0x0
      k8s.io/kubernetes/test/e2e/dra/test-driver/app.(*ExamplePlugin).GetPreparedResources()
          k8s.io/kubernetes/test/e2e/dra/test-driver/app/kubeletplugin.go:506 +0x112
      k8s.io/kubernetes/test/e2e/dra/test-driver/app.(*ExamplePlugin).GetPreparedResources-fm()
          <autogenerated>:1 +0x33
      runtime.call16()
          runtime/asm_amd64.s:774 +0x42
      reflect.Value.Call()
          reflect/value.go:365 +0xb5
      github.com/onsi/gomega/internal.(*AsyncAssertion).buildActualPoller.func3()
          github.com/onsi/gomega@v1.39.0/internal/async_assertion.go:337 +0x244
      github.com/onsi/gomega/internal.(*AsyncAssertion).match()
          github.com/onsi/gomega@v1.39.0/internal/async_assertion.go:560 +0xe01
      github.com/onsi/gomega/internal.(*AsyncAssertion).Should()
          github.com/onsi/gomega@v1.39.0/internal/async_assertion.go:145 +0xc4
      k8s.io/kubernetes/test/e2e/dra.init.func1.2.4()
          k8s.io/kubernetes/test/e2e/dra/dra.go:314 +0x4fc
      k8s.io/kubernetes/test/e2e/dra.init.func1.2.4()
          k8s.io/kubernetes/test/e2e/dra/dra.go:304 +0x204
      github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func2()
          github.com/onsi/ginkgo/v2@v2.27.4/internal/node.go:517 +0x5d
      github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
          github.com/onsi/ginkgo/v2@v2.27.4/internal/suite.go:945 +0x6ed
2026-02-10 15:20:48 +01:00
Patrick Ohly
45251e5f65 client-go cache: allow passing name+logger to DeltaFIFO, RealFIFO and Reflector
This improves logging and enables more informative waiting for cache sync in a
following commit. It addresses one klog.TODO in the Reflector.

The RealFIFOOptions and InformerOptions structs get extended the same way as
DeltaFIFOOptions before: a logger may be set, but it's not required. This is
not an API break.

That the name has to be passed separately is a bit annoying at first glance
because it could also be set directly on the logger through WithName, but
keeping it separate is better:
- name can be set without providing a logger
- name can be defaulted
- less code in the caller when passing through a logger and adding
  the name only in the field
- last but not least, extracting the name is not supported in a portable
  manner by logr

All in-tree references in production code get updated.

While at it, logging in the fifos gets updated to follow best practices: if
some code encounters an abnormal situation and then continues, it should use
utilruntime.HandleErrorWithLogger instead of normal error logging.

Existing "logger" fields get moved to the top because that is a more common
place for such a read-only field.
2026-02-10 13:48:30 +01:00
Antonio Ojea
2cfc90672a fix flake on ipaddress allocator integration test
The test need to consider the time for the Delete operation to populate
the ipallocator informer, otherwise, it can happen the allocator fails
with a range full failing the test.

Co-authored-by: hiirrxnn <hiren2004sharma@gmail.com>
2026-02-10 10:34:47 +00:00
Kubernetes Prow Robot
59cddedb04 Merge pull request #136901 from Phaow/vac-fix
test: bring back the VAC roll-forward test
2026-02-10 15:46:05 +05:30
Kubernetes Prow Robot
b6f27f1993 Merge pull request #136856 from pohly/dra-integration-timeouts
DRA integration: bump timeouts to 1 minute
2026-02-10 12:59:59 +05:30
Penghao
e3f7eb38fa Revert "Mark VAC roll-forward test as flaky"
This reverts commit 085d23388a.
2026-02-10 14:39:39 +08:00
Kubernetes Prow Robot
0bb75334dd Merge pull request #135464 from MikeSpreitzer/better-concurrency-test-margin
Relax the noise margin threshold in TestConcurrencyIsolation
2026-02-10 10:30:04 +05:30
Kubernetes Prow Robot
7b0310aadd Merge pull request #136820 from dims/update-otel-deps
Update OpenTelemetry dependencies to latest versions
2026-02-10 05:44:05 +05:30
Kubernetes Prow Robot
139e78d88d Merge pull request #136337 from pohly/dra-e2e-hostpath-image-selection
DRA E2E: use image utils to manage hostpath image
2026-02-10 00:02:02 +05:30
Patrick Ohly
2238a33655 DRA integration: bump timeouts to 1 minute
The 30 second timeouts in binding condition testing recently flaked, probably
related to increasing parallelism in integration test jobs.
2026-02-09 13:21:13 +01:00
Francesco Romani
9bc91a75d3 e2e: cpumanager: test for custom cpu cfs quota period
Add basic e2e test coverage for the CFSCPUPeriod toggle

Signed-off-by: Francesco Romani <fromani@redhat.com>
2026-02-09 08:27:51 +01:00
Francesco Romani
5a2578ce09 kubelet: promote the CustomCPUCFSQuotaPeriod to GA
Promote the CustomCPUCFSQuotaPeriod gate to GA, turning it enabled by
default. Short history of this feature so far:

As far as git and github history allows to reconstruct, this
feature was introduced without KEP/design doc process (kubernetes 1.12).
It was a double-opt-in feature: users set to first enable a FG to make
the kubelet honor a setting, then change a specific tunable to change
the behavior This is more like a “safeguard” FG
(Other noteworthy examples: `UnauthenticatedHTTP2DOSMitigation` or
`DisableCPUQuotaWithExclusiveCPUs`) rather than a KEP-driven feature gate

Major past events:
- introduced in: https://github.com/kubernetes/kubernetes/pull/63437
- Discussion about adding a FG: https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-387828654
- The change was initially accepted as straightforward, but it was
  later discovered systemd had gaps, and the change was downgraded
  as experimental: https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-391740566
- FG re-introduced because systemd acknowledged and fixed the gap,
  but the systemd rollout would take quite some time:
  https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-407950436

There's a  gap, still relevant in 2026: missing e2e tests to move past alpha:
https://github.com/kubernetes/kubernetes/pull/63437#issuecomment-417674790

Other noteworthy work related to this feature:
- https://github.com/kubernetes/kubernetes/pull/94687
- https://github.com/kubernetes/kubernetes/pull/111520
- https://github.com/kubernetes/kubernetes/pull/129726
- https://github.com/kubernetes/kubernetes/pull/133845

Fix and modernize the related unit tests.

Signed-off-by: Francesco Romani <fromani@redhat.com>

fixup
2026-02-09 08:27:21 +01:00
Francesco Romani
ccb70a6577 kubelet: deprecate DisableCPUQuotaWithExclusiveCPUs
We missed the proper process initially, it should have
been set to deprecated from the beginning, to convey
this is a safety FG for a delicate, long needed fix
rather than a FG for a proper feature

Signed-off-by: Francesco Romani <fromani@redhat.com>
2026-02-09 08:25:56 +01:00
Mads Jensen
7883039b31 Remove unneeded use of fmt.Sprintf in test/{integration,e2e} 2026-02-08 14:34:13 +01:00
Davanum Srinivas
077dfc6175 Fix TestAPIServerTracing: update rpc.system to rpc.system.name
otelgrpc v0.65.0 upgraded to semconv v1.39.0, which renamed the
attribute key from "rpc.system" to "rpc.system.name". Update the
tracing integration test expectations to match.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-02-07 23:45:55 -05:00
Kubernetes Prow Robot
669b1de008 Merge pull request #136767 from Sahil-4555/atomic-types-test
test: refactor to use atomic types
2026-02-07 22:13:08 +05:30
Kubernetes Prow Robot
d863fbe80b Merge pull request #135335 from carlory/cleanup
[1.36] Remove feature gate HonorPVReclaimPolicy
2026-02-07 06:30:28 +05:30
Kubernetes Prow Robot
2023f445ec Merge pull request #136291 from atombrella/feature/modernize_rangeint_test_integration_utils
Use Go 1.22 for-range in test/{utils,integrations}
2026-02-06 20:16:32 +05:30
Kubernetes Prow Robot
c0e6971b70 Merge pull request #136710 from bart0sh/PR221-integration-add-implicit-extended-resources
DRA: integration: test implicit resources
2026-02-06 15:12:32 +05:30
carlory
4bc5464553 Remove feature gate HonorPVReclaimPolicy
Signed-off-by: carlory <baofa.fan@daocloud.io>
2026-02-06 13:31:16 +08:00
Kubernetes Prow Robot
8972957668 Merge pull request #135782 from richabanker/fifo-identity-metric
Add identifier-based queue depth metrics for RealFIFO
2026-02-06 07:34:29 +05:30
Kubernetes Prow Robot
5dd7be6b4f Merge pull request #136118 from HarshalNeelkamal/ga-external-jwt
Make ExternalServiceAccountTokenSigner GA
2026-02-06 03:16:29 +05:30
Kubernetes Prow Robot
cee0b6d6e0 Merge pull request #136752 from BenTheElder/please-no-new-test-images
clarifying adding new test images
2026-02-06 01:36:39 +05:30
Richa Banker
7ffcacbf9e Wire informer name through kube-controller-manager shared informers 2026-02-05 11:45:47 -08:00
Richa Banker
864357774f Add FIFO queue depth metrics 2026-02-05 11:42:20 -08:00
Ed Bartosh
299471da26 test: refactor extended resource test
Simplify testExtendedResource structure and add proper field validation:

- Rename tests to distinguish explicit vs implicit modes clearly
- Remove unnecessary nested sub-test to flatten test hierarchy
- Validate ExtendedResourceName is correctly stored or stripped
  based on feature gate state to ensure proper API behavior
- Remove outdated comment that no longer applies

Co-Authored-By: Patrick Ohly <patrick.ohly@intel.com>
2026-02-05 21:17:15 +02:00
Ed Bartosh
f56e2545f0 DRA: integration: test implicit resources
Modified DRA integration test to test implicit extended resources.
2026-02-05 21:17:15 +02:00
Ed Bartosh
ef68c5f91c test: integration: refactor DRA extended resource test
Simplified testExtendedResource by using the helper functions added
in the previous commit:

- Removed unused global test data (podWithExtendedResource,
  classWithExtendedResource, etc.)
- Used createTestClassWithSpec to create DeviceClass with extended resources
- Used createPodWithExtendedResource to create test pods
- Removed manual class and pod creation boilerplate
2026-02-05 21:17:15 +02:00
Ed Bartosh
c21cb83c74 test: modify integration test helpers
Add helper functions to use for testing DRA extended resources:

- Add createTestClassWithSpec to support custom DeviceClassSpec
- Add createPodWithExtendedResource to create pods requesting extended resources
2026-02-05 21:17:09 +02:00
Kubernetes Prow Robot
dab5f4f0ae Merge pull request #136777 from omerap12/update-agnhost
Upgrade agnhost image to 2.63.0
2026-02-06 00:44:38 +05:30
Omer Aplatony
201fe11b03 Promote agnhost image to 2.63.0
Signed-off-by: Omer Aplatony <omerap12@gmail.com>
2026-02-05 17:21:34 +00:00
Mads Jensen
cb7f56f30d Use Go 1.22 for-range in test/utils and test/integrations
This was changed using modernize/rangeint.
2026-02-05 16:13:58 +01:00
Sahil-4555
8d2bb516d8 test: refactor to use atomic types 2026-02-05 20:19:33 +05:30
Kubernetes Prow Robot
365fd08d58 Merge pull request #136694 from michaelasp/addEmulationToClientGo
Add the ability to update locked features in client-go testing
2026-02-05 02:04:32 +05:30
Kubernetes Prow Robot
a773eb4838 Merge pull request #136691 from pohly/ktesting-deprecated-removal
ktesting: remove deprecated and unused functions
2026-02-05 00:36:32 +05:30
Michael Aspinwall
566a01682f Lock InOrderInformers to true by default 2026-02-04 18:46:03 +00:00
Benjamin Elder
f356122aef clarifying adding new test images 2026-02-04 10:23:15 -08:00
Kubernetes Prow Robot
871ad000b4 Merge pull request #136673 from HirazawaUi/remove-DisableNodeKubeProxyVersion
Lock the DisableNodeKubeProxyVersion feature gate to be enabled by default
2026-02-04 22:42:33 +05:30
HirazawaUi
9703ce508f Lock the DisableNodeKubeProxyVersion feature gate to be enabled by default. 2026-02-04 21:45:15 +08:00
Omer Aplatony
a29d099dd4 test:add sample-external-metrics-server to agnhost
Signed-off-by: Omer Aplatony <omerap12@gmail.com>
2026-02-04 06:08:45 +00:00
Kubernetes Prow Robot
0cf6c382a0 Merge pull request #136727 from zylxjtu/images
Add Windows Server 2025 support for agnhost image
2026-02-04 07:56:36 +05:30
Kubernetes Prow Robot
e74193bcbf Merge pull request #135917 from zylxjtu/registry
Add the fake registry server functionality to agnhost windows
2026-02-04 07:56:28 +05:30
Kubernetes Prow Robot
cde1fe6a40 Merge pull request #133844 from pohly/invariants
E2E: check log output to detect DATA RACEs
2026-02-04 06:30:27 +05:30
Kubernetes Prow Robot
1861c1a072 Merge pull request #136601 from michaelasp/realFifoGA
Set RealFIFO to GA in 1.36
2026-02-04 05:32:34 +05:30
Kubernetes Prow Robot
c4f5cea36b Merge pull request #135746 from richabanker/move-flagz
Move apiserver's flagz installation to genericapiserver alongside statusz
2026-02-04 05:32:27 +05:30
Harshal Neelkamal
754c108b96 Make ExternalServiceAccountTokenSigner GA 2026-02-03 23:47:33 +00:00