Commit Graph

29719 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
2bd6c7fe3c Merge pull request #137298 from dims/dsri/cri-streaming-option-a-hardcut
cri streaming option a hardcut - add new staging repositories `streaming` and `cri-streaming`
2026-03-13 17:23:36 +05:30
Patrick Ohly
85bca3b684 DRA device taints: fix beta-enabled, alpha-disable configurations
DeviceTaintRule is off by default because the corresponding v1beta2 API group
is off. When enabled, the potentially still disabled v1alpha3 API version was
used instead of the new v1beta2, causing the scheduler to fail while setting up
informers and then not scheduling pods.
2026-03-13 09:20:57 +01:00
Kubernetes Prow Robot
eb15e2767f Merge pull request #137362 from tallclair/on-demand-relist
On-demand per-pod PLEG Relist
2026-03-13 06:15:40 +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
ad60a2d291 DRA device taints: update integration tests
The tests starting the eviction controller shouldn't run in parallel because we
want the one controller instance to be up-to-date with its informer caches when
it sees the new DeviceTaintRule. Worst case, a controller from one test would
have set the status of the DeviceTaintRule created by another.

That's not quite what happened here though:

        Value for field 'Status.Conditions' failed to satisfy matcher.
        Expected
            <[]v1.Condition | len:1, cap:1>:
                - lastTransitionTime: "2026-03-06T14:41:10Z"
                  message: 1000 published devices selected. 1001 allocated devices selected. 1000
                    pods would be evicted in 1 namespace if the effect was NoExecute. This information
                    will not be updated again. Recreate the DeviceTaintRule to trigger an update.
                  observedGeneration: 1
                  reason: NoEffect
                  status: "False"
                  type: EvictionInProgress

Note the "1001 allocated devices selected": the test only creates 1000
devices. It's not entirely clear where the extra one came from.

The test got stuck in the Eventually, which is useless because we know that
controller is not going to update the condition again. So now we wait for the
ObservedGeneration to increase, then check the full condition content once.
2026-03-12 18:26:03 +01:00
Patrick Ohly
7d2781a0c3 DRA device taints: generated files 2026-03-12 18:26:03 +01:00
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
Peter Engelbert
b4220f8b08 Add credential pluginkubectl kuberc set options (#137300)
* Add <...> kuberc set --section=credentialplugin

The requirement that the `--command` option be provided is no longer
valid; a solution will need to be found.

Signed-off-by: Peter Engelbert <pmengelbert@gmail.com>

* Remove required mark on `--command` flag

Move the validation logic to the Validate() function

Signed-off-by: Peter Engelbert <pmengelbert@gmail.com>

* Remove requirement for `--command`

Signed-off-by: Peter Engelbert <pmengelbert@gmail.com>

* Add cmd test cases for kuberc

- Verify all error messages added/changed by this PR
- Verify changes are effected by at least one valid `kubectl kuberc
  set` invocation with --section=credentialplugin

Signed-off-by: Peter Engelbert <pmengelbert@gmail.com>

* Add unit tests for --section=credentialplugin

Additionally:
- Update allowlist-entry validation logic to check for empty string in
  value of k/v pairs
- Update kuberc cmd test with this case as well

Signed-off-by: Peter Engelbert <pmengelbert@gmail.com>

* Address linter complaints

Signed-off-by: Peter Engelbert <pmengelbert@gmail.com>

* Update staging/src/k8s.io/kubectl/pkg/cmd/kuberc/set.go

Co-authored-by: Maciej Szulik <soltysh@gmail.com>

* Add two new test cases

Additionally:
- update error message when policy is invalid
- use utilerrors.NewAggregate instead of custom code
- add --section=credentialplugin example to cli help
- fix copypasted doc comments
- use more descriptive variable names in for loops
- avoid confusion due to variable shadowing
- fix capitalization typo
- check both validate and run errors in credentialplugin tests

Signed-off-by: Peter Engelbert <pmengelbert@gmail.com>

* Improve cli help for policy flag

Signed-off-by: Peter Engelbert <pmengelbert@gmail.com>

---------

Signed-off-by: Peter Engelbert <pmengelbert@gmail.com>
Co-authored-by: Maciej Szulik <soltysh@gmail.com>
2026-03-12 22:49:41 +05:30
Kubernetes Prow Robot
f7f694e5e0 Merge pull request #136792 from rata/userns-goes-ga
feature: Migrate UserNamespacesSupport to GA
2026-03-12 21:57:36 +05:30
Rodrigo Campos
b0e3817299 test: Document UserNamespacesSupport e2e feature
This test framework feature is used in the test-infra that runs with
container runtimes that have support for user namespaces.

Signed-off-by: Rodrigo Campos <rodrigo@amutable.com>
2026-03-12 15:20:09 +01:00
Rodrigo Campos
f25830be53 test/e2e*: Remove references to UserNamespacesSupport feature gate
It's GA now.

Signed-off-by: Rodrigo Campos <rodrigo@amutable.com>
2026-03-12 15:20:09 +01:00
Rodrigo Campos
527aa66124 feature: Move UserNamespacesSupport to GA
Signed-off-by: Rodrigo Campos <rodrigo@amutable.com>
2026-03-12 15:20:02 +01:00
Kubernetes Prow Robot
cdcc47c862 Merge pull request #137346 from aramase/aramase/f/kep_5793_alpha_impl
KEP-5793: Add manifest-based admission control config (alpha)
2026-03-12 19:41:37 +05:30
Davanum Srinivas
1ee1ff97fb staging: extract CRI streaming modules with client-go compatibility
Extract streaming code into dedicated staging modules while keeping stable
compatibility APIs for external client-go consumers.

This commit:
- adds `k8s.io/cri-streaming` for CRI exec/attach/portforward server code
- adds `k8s.io/streaming` as the canonical home for shared transport
  primitives (`httpstream`, `spdy`, `wsstream`, runtime helpers)
- switches in-tree transport consumers to `k8s.io/streaming`
- removes in-tree kubelet CRI streaming package
- preserves NO_PROXY/no_proxy CIDR handling in extracted SPDY proxier logic
- adds deprecated `k8s.io/apimachinery/pkg/util/httpstream` compatibility
  wrappers (`httpstream`, `spdy`, `wsstream`) backed by `k8s.io/streaming`
- restores exported client-go SPDY/portforward API signatures to
  apimachinery `httpstream` types for downstream compatibility
- adds streaming-native client-go adapters/constructors so in-tree callers
  can use `k8s.io/streaming` without changing external compatibility APIs
- deduplicates SPDY-over-websocket dial negotiation shared by compat and
  streaming tunneling dialers
- logs dropped unknown stream types in `RemoveStreams` adapter fallbacks to
  improve compatibility-path debuggability
- adds integration coverage for the streaming-upgrader-to-client-go-compat
  adapter path against a real cri-streaming exec endpoint
- clarifies kubectl streaming import aliasing to avoid `httpstream` package
  ambiguity
- updates tests, import restrictions, publishing metadata, and vendor/module
  metadata for the new staging modules

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-03-12 09:59:55 -04:00
Kubernetes Prow Robot
7393700b11 Merge pull request #137659 from pacoxu/fix-image-volume-e2e
mark ImageVolume conformance test to LinuxOnly
2026-03-12 17:33:35 +05:30
Kubernetes Prow Robot
08b192cdd1 Merge pull request #137626 from pohly/dra-e2e-with-kubelet-version
E2E framework: introduce WithKubeletMinVersion helper
2026-03-12 13:55:37 +05:30
Paco Xu
8c5548edd6 mark ImageVolume conformance test to LinuxOnly 2026-03-12 15:48:50 +08:00
Anish Ramasekar
a509eee91f Add integration tests for manifest-based admission control
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-03-11 23:47:56 -07:00
Anish Ramasekar
36b78ae6e9 Add ManifestBasedAdmissionControlConfig feature gate
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-03-11 23:39:33 -07:00
Kubernetes Prow Robot
a89519d791 Merge pull request #136728 from guptaNswati/kep-3695-FG-ga
KEP-3695: FG kubeletPodResources GA update
2026-03-12 07:15:34 +05:30
Kubernetes Prow Robot
c88f221fd2 Merge pull request #136279 from tchap/add-feature-gate-ControllerManagerReleaseLeaderELectionLockOnCancel
controller-manager: Add ControllerManagerReleaseLeaderElectionLockOnCancel feature gate
2026-03-12 06:09:35 +05:30
Kubernetes Prow Robot
6320c4cad8 Merge pull request #136681 from yuanwang04/restart-pod
Graduate RestartAllContainers to beta
2026-03-12 05:13:57 +05:30
Tim Allclair
63e5f3aac3 On-demand PLEG pod relisting 2026-03-11 23:22:13 +00:00
Kubernetes Prow Robot
93eed79b22 Merge pull request #137639 from pohly/dra-integration-extendedresource-alloc-fix
DRA integration: fix test isolation of extended resource test
2026-03-12 03:01:49 +05:30
Kubernetes Prow Robot
9d5db065bd Merge pull request #136256 from seans3/websocket-to-kubelet
Extend WebSocket Streaming Protocol to the Kubelet for Exec/Attach/PortForward
2026-03-12 03:01:36 +05:30
Yuan Wang
c1f00c7d67 Graduate feature to beta 2026-03-11 20:45:36 +00:00
Kubernetes Prow Robot
d729528df4 Merge pull request #136711 from saschagrunert/graduate-image-volume-ga
[KEP-4639]: Graduate ImageVolume to GA
2026-03-12 00:45:43 +05:30
Swati Gupta
9f9edb2525 remove featuregate in e2e_node test
Signed-off-by: Swati Gupta <swatig@nvidia.com>
2026-03-11 11:28:24 -07:00
Kubernetes Prow Robot
55909d5cb4 Merge pull request #137636 from soltysh/portforward_cleanup
Re-use existing helper for port-forwarding in autoscaling utils
2026-03-11 23:53:56 +05:30
kennangaibel
c19439f3f3 Support tls server name overrides in EgressSelectorConfiguration (#136640)
add integration test

Use proper test header, change to  etcdMain to recognize test flags

fix goroutine leak in integration test

redo integration test with kubeapiserverapptesting

fix comment capitalization, use existing client libraries

fix comment capitalization, use existing client libraries

consolidate http connect handler logic from odic and tls_server-name into helper

add expected SNI, remove unused test

move oidc helpers.go to right dir, remove copyright year

split helpers.go into descriptive file names

use atomic ptr for SNI, refactor generateTestCerts, remove errors from runTLSEgressProxy, explain jwksHandler in comment

use testify, add back context messages

Clean up tests

Signed-off-by: Monis Khan <mok@microsoft.com>
2026-03-11 23:53:35 +05:30
Swati Gupta
faf9e8dd57 FG Lock to default in 1.36
Signed-off-by: Swati Gupta <swatig@nvidia.com>
2026-03-11 10:58:55 -07:00
Swati Gupta
94a96b7e59 KEP-3695: FG kubeletPodResources GA update
Signed-off-by: Swati Gupta <swatig@nvidia.com>
2026-03-11 10:58:55 -07:00
Patrick Ohly
1677969a8a DRA integration: fix test isolation of extended resource test
The testExtendedResource caller supplies a spec without selector and thus
allocated devices from whatever slice some other test might have created. This
caused random test flakes, typically in UsesAllResources because it cannot
allocate all its claims.

This could be fixed in the caller, but as the function exists and might also be
called incorrectly in other, future tests, the function itself gets changed to
add the selector if the caller didn't provide one.
2026-03-11 18:31:13 +01:00
Sean Sullivan
392b5e5c82 Updated proxy handler in kubelet 2026-03-11 16:31:13 +00:00
Maciej Szulik
d11acb0d89 Re-use existing helper for port-forwarding in autoscaling utils
Signed-off-by: Maciej Szulik <soltysh@gmail.com>
2026-03-11 15:24:15 +01:00
Hemant Kumar
0e001ab1a5 Fix e2e tests to handle explicit driver opt-in for scheduling 2026-03-11 08:34:29 -04:00
Kubernetes Prow Robot
b16838370b Merge pull request #136044 from SergeyKanzhelev/versioninconfigz
added API Version and Kind in /configz serailized objects
2026-03-11 15:09:36 +05:30
Patrick Ohly
9d9f4ddd88 E2E framework: introduce WithKubeletMinVersion
This simplifies specifying the minimum required kubelet (a bit shorter overall,
harder to introduce typos because the string is shorter) and enables usage of
`--sem-ver-filter`.

Jobs that filter by label or text continue to work as before.

As a proof-of-concept, the DRA tests are labeled using the new helper
and are tested with canary jobs which use --sem-ver-filter. The normal
jobs which rely on the label still work.
2026-03-11 09:47:27 +01:00
Kubernetes Prow Robot
9169d916a0 Merge pull request #136042 from pravk03/ndf-beta-2
Node Declared Features beta changes
2026-03-11 12:11:36 +05:30
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
Sergey Kanzhelev
4396474b0b integration tests for configz endpoints 2026-03-11 00:25:32 +00:00
Kubernetes Prow Robot
fdbea74545 Merge pull request #137419 from michaelasp/rvInformerMetrics
Add metric tracking the latest cached rv of informers
2026-03-11 03:53:24 +05:30
Kubernetes Prow Robot
aa5abdd371 Merge pull request #136817 from kairosci/fix-gc-notfound-136525
Handle NotFound errors in garbage collector
2026-03-11 03:53:09 +05:30
Kubernetes Prow Robot
69144c9081 Merge pull request #137371 from pohly/dra-bind-claim-panic
DRA scheduler: fix potential panic when DRABindingConditions are enabled
2026-03-11 03:03:25 +05:30
Michael Aspinwall
9fb9e933b2 Add metric tracking the latest cached rv of informers 2026-03-10 20:29:41 +00:00
Kubernetes Prow Robot
0009958799 Merge pull request #137386 from richabanker/flagz-beta
Graduate ComponentFlagz feature gate to Beta
2026-03-11 00:45:26 +05:30
Kubernetes Prow Robot
89d2deaa1d Merge pull request #137202 from serathius/watchlist-trace
Mirror List and WatchList tracing
2026-03-11 00:45:18 +05:30
Kubernetes Prow Robot
bfb362c575 Merge pull request #137466 from richabanker/nh-scheduler
Enable native histograms gated by feature flag in scheduler
2026-03-10 23:03:11 +05:30
Richa Banker
a902b8ffdc Graduate ComponentFlagz feature gate to Beta 2026-03-10 09:50:16 -07:00