Commit graph

29742 commits

Author SHA1 Message Date
Kubernetes Prow Robot
9c7e57bb7c
Merge pull request #137330 from tico88612/cleanup/test-node-pod-dep-prometheus
Remove dep. Prometheus from test/e2e/node/pods.go
2026-03-16 20:43:49 +05:30
Priyanka Saggu
bd1ed91bb2 fix TestManagedBy by resetting metrics after controller start like other tests 2026-03-16 11:02:32 +05:30
Priyanka Saggu
410efb048f add e2e tests verifying PodReadyToStartContainers condition set using criProxy to inject delay time 2026-03-16 10:14:02 +05:30
Kubernetes Prow Robot
a274c27dd3
Merge pull request #137727 from SergeyKanzhelev/removeRaceInObservedGen
wait for container condition to be true before sending the pod update
2026-03-16 04:19:36 +05:30
Kubernetes Prow Robot
040ca59611
Merge pull request #137454 from haircommander/proc-mount-ga
KEP-4265: feature: promote ProcMountType to GA
2026-03-15 07:57:34 +05:30
Kubernetes Prow Robot
95365ff478
Merge pull request #134768 from KevinTMtz/pod-level-resource-managers-5526
[PodLevelResourceManagers] Pod Level Resource Managers - Alpha
2026-03-14 08:45:35 +05:30
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
Sergey Kanzhelev
9aee7c917a wait for container condition to be true before sending the pod update 2026-03-13 23:21:22 +00:00
Kubernetes Prow Robot
0ad0cce87e
Merge pull request #137078 from saschagrunert/label-unlabeled-e2e-node-tests
Label unlabeled e2e node tests
2026-03-14 04:31:36 +05:30
Kubernetes Prow Robot
4df03ea76e
Merge pull request #137550 from KhushAhuja/deflake-resize-cgroup-exec-retry
test/e2e: deflake pod resize cgroup value verification
2026-03-14 03:41:35 +05:30
Kubernetes Prow Robot
b5661be4ff
Merge pull request #137248 from SergeyKanzhelev/propagate-context-cri-client
add context to CRI API client and contextual logging per-call
2026-03-14 00:41:36 +05:30
Kubernetes Prow Robot
b869833664
Merge pull request #137115 from damdo/add-tls-curve-preferences
Add --tls-curve-preferences flag for configuring TLS key exchange mechanism (curves)
2026-03-13 23:11:35 +05:30
Peter Hunt
539352eddd feature: promote ProcMountType to GA
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2026-03-13 12:27:16 -04:00
KhushAhuja
efddaf6561 test/e2e: deflake pod resize cgroup value verification
Replace the manual 3-retry loop (with no delay) in VerifyCgroupValue
with framework.Gomega().Eventually() + HandleRetry, matching the
pattern used for oom_score_adj deflake in #137329. This gives proper
polling with backoff when exec fails during container restarts.
2026-03-13 21:10:37 +05:30
Kubernetes Prow Robot
eeb690e1f3
Merge pull request #137597 from pohly/dra-extended-resource-version-skew
DRA: re-enable extended resource tests for version skew testing
2026-03-13 21:09:36 +05:30
Damiano Donati
53b163298d
Add --tls-curve-preferences flag for configuring TLS key exchange mechanisms
Introduce support for specifying allowed TLS key exchange mechanisms
(IANA TLS Supported Groups) via a new --tls-curve-preferences flag,
following the same pattern as --tls-cipher-suites.

Curve preferences are specified as numeric IANA TLS Supported Group IDs
(e.g. 23,29,4588) rather than string names. This avoids maintaining a
hardcoded name-to-ID map that would become stale with each Go release,
and ensures new curves (such as Go 1.26's SecP256r1MLKEM768 and
SecP384r1MLKEM1024) work automatically when rebuilding with a newer Go
version -- no code changes required.

Changes:
- Add curves_flag.go in component-base/cli/flag with a simple
  int-to-tls.CurveID cast function
- Add CurvePreferences field ([]int32) to SecureServingOptions, registered
  via IntSliceVar, and wire it through to tls.Config

The order of the list is ignored; Go selects from the set using an
internal preference order. If omitted, Go defaults are used. The set of
accepted values depends on the Go version used to build the binary; see
https://pkg.go.dev/crypto/tls#CurveID for reference.
2026-03-13 14:26:05 +01:00
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
ee51070eba DRA: re-enable extended resource tests for version skew testing
Limiting the tests to kubelet >= 1.36 was a stop-gap solution because the
version skew tests had to be updated to enable the feature on kubelet >= 1.34
first.

Some tests depend on a bug fix in 1.35 for implicit extended resource.
2026-03-13 09:54:42 +01:00
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
Tim Allclair
e4521526b4 NodeDeclaredFeatures: Add global default NDF registry 2026-03-13 04:28:16 +00: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
Sascha Grunert
d3919c7cef
Label unlabeled e2e node tests
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2026-03-12 09:02:24 +01:00
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
Kevin Torres
dec79e1fb2 E2E tests 2026-03-12 00:29:22 +00:00
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