Commit Graph

136448 Commits

Author SHA1 Message Date
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
Kubernetes Prow Robot
03e8d88396 Merge pull request #137634 from Jefftree/agg-discovery-flake
Fix aggregated discovery retry on fetch failure
2026-03-12 22:49:48 +05:30
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
Kubernetes Prow Robot
664419792d Merge pull request #137301 from Jefftree/openapi-filter-cross-registered-gvks
scope x-kubernetes-group-version-kind to local API group in v3 specs
2026-03-12 21:03:45 +05:30
Kubernetes Prow Robot
a7cbc9054b Merge pull request #137145 from mark-liu/kubectl/describe-events-cardinality
Skip events for multi-object kubectl describe
2026-03-12 21:03: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
8db51091e8 Remove references to UserNamespacesSupport feature gate from core types
It's GA now. To regenerate the files I did:
        make WHAT=cmd/kube-apiserver
        make update

While we are there, remove the reference that the field is alpha.

Signed-off-by: Rodrigo Campos <rodrigo@amutable.com>
2026-03-12 15:20:09 +01:00
Rodrigo Campos
8d0f80e4ed staging/testdata: Remove UserNamespacesSupport reference
This is just a sed to remove the old data from the text fixtures too.

While two files are clearly test data given that they include testdata
in their name, these two is not so obvious but are also test data:

	* openapi/swagger-with-shared-parameters.json: is referenced in "staging/src/k8s.io/cli-runtime/pkg/resource/query_param_verifier_test.go",
          in particular in this part: ´filepath.Join("..", "..", "artifacts", "openapi", "swagger-with-shared-parameters.json")´

	* batch.k8s.io_v1.json: is in
	  `staging/src/k8s.io/kubectl/pkg/explain/v2/templates/plaintext_test.go`,
          in a "//go:embed batch.k8s.io_v1.json".

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
a3ac5144e7 Merge pull request #137501 from danwinship/nftables-list-redux
Fix kube-proxy on systems with nft 1.1.3 (take 2)
2026-03-12 19:41:45 +05:30
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
Jefftree
628754d2ca openapi: update generated v3 specs 2026-03-12 09:49:40 -04:00
Jefftree
f2ae2cc046 openapi: filter cross-registered GVKs in per-GV v3 specs 2026-03-12 09:49:39 -04:00
Kubernetes Prow Robot
9874e76ac4 Merge pull request #137662 from tosi3k/revert-136254-extend-postfilter
Revert "Extend PostFilterResult with a list of victim Pods"
2026-03-12 17:33:42 +05:30
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
9cfdbc0d6e Merge pull request #137591 from pacoxu/kubeadm-etcd-version
kubectl: only print default cotnainer if there are multi containers
2026-03-12 15:31:44 +05:30
Kubernetes Prow Robot
03d1c996c7 Merge pull request #137284 from ttsuuubasa/dra-dbc-metrics
DRA Device Binding Conditions: add metrics for prebind flow
2026-03-12 15:31:37 +05:30
Antoni Zawodny
fa29c9db6a Revert "Extend PostFilterResult with a list of victim Pods" 2026-03-12 10:03:35 +01:00
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
Tsubasa Watanabe
30b811a99b DRA Device Binding Conditions: add metrics for prebind flow
This commit introduces metrics and improves log outputs for
DRA Device Binding Conditions (KEP-5007):

- scheduler_dra_bindingconditions_allocations_total

  Counts the number of per-device scheduling attempts
  during PreBind where BindingConditions are in use

- scheduler_dra_bindingconditions_wait_duration_seconds

  Observes the time spent waiting for BindingConditions
  to be satisfied during PreBind.

Signed-off-by: Tsubasa Watanabe <w.tsubasa@fujitsu.com>
2026-03-12 17:19:13 +09:00
Paco Xu
8c5548edd6 mark ImageVolume conformance test to LinuxOnly 2026-03-12 15:48:50 +08:00
Kubernetes Prow Robot
efc8cc256a Merge pull request #137201 from brejman/score-plugin
Add placement scorer plugin interfaces and logic for running them
2026-03-12 12:41:41 +05:30
Kubernetes Prow Robot
031f8ac9ed Merge pull request #136287 from abel-von/optimize-podgroupinfo
scheduler: optimize podGroupInfo to minimize the lock time
2026-03-12 12:41:34 +05:30
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
fad6f8df9f Block .static.k8s.io suffix in REST API
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-03-11 23:47:55 -07:00
Anish Ramasekar
6dee0f21b3 Add policy manifest loader, source, and plugin wiring
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-03-11 23:47:55 -07:00
Anish Ramasekar
58e9e99615 Add webhook manifest loader, source, and plugin wiring
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-03-11 23:47:55 -07:00
Anish Ramasekar
c780c02c1a Add manifest file loading utilities and metrics
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-03-11 23:47:55 -07:00
Anish Ramasekar
7bfea7b5e2 Move WatchUntil to staging
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-03-11 23:47:52 -07:00
Mark Liu
20696e1f89 Skip events for multi-object kubectl describe
Default ShowEvents=false when describing multiple objects and
the user has not explicitly set --show-events. Single-object
describe unchanged. Applied in both Run() and
DescribeMatchingResources() using a value copy of
DescriberSettings.

Signed-off-by: Mark Liu <mark@prove.com.au>
2026-03-12 17:47:00 +11:00
Anish Ramasekar
0dafe1231c Add staticManifestsDir config for webhook and policy plugins
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2026-03-11 23:39:36 -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
802b3f744b Merge pull request #133622 from KunWuLuan/feat/volume-limit-acc
Use indexer to acclerate volume limit plugin
2026-03-12 11:27:34 +05:30
Kubernetes Prow Robot
1a75abd5b5 Merge pull request #137102 from sivchari/kubeadm-ca-cert-summary
kubeadm: print CA certificate summary during join discovery
2026-03-12 09:09:33 +05:30
Kubernetes Prow Robot
2f921a72b2 Merge pull request #137637 from QiWang19/reset-0-memory.min
KEP-2570: setMemoryQoS clears memory.min when requests 0
2026-03-12 07:15:42 +05:30
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
0909c60df9 Merge pull request #137605 from pacoxu/coredns-1.14.2
bump coredns to v1.14.2
2026-03-12 06:09:55 +05:30
Kubernetes Prow Robot
d60e111b5f Merge pull request #137587 from thockin/dv_cleanup_and_minItems_and_maximum
DV cleanup, minItems, and maximum
2026-03-12 06:09:48 +05:30
Kubernetes Prow Robot
c232632ac5 Merge pull request #137213 from Jefftree/leak-fix
Fix FSWatcher goroutine leak by adding ctx to Run()
2026-03-12 06:09:42 +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
Kubernetes Prow Robot
4b4bdeb888 Merge pull request #136393 from apendua/remove-distutils
Skip gcloud version check to remove dependency on deprecated distutils
2026-03-12 05:13:50 +05:30
Kubernetes Prow Robot
b9b5f65c2e Merge pull request #135419 from pohly/apimachinery-handle-errors-helper
apimachinery: clarify ErrorHandler and provide helper for formatting
2026-03-12 05:13:42 +05:30
Kubernetes Prow Robot
6d92449054 Merge pull request #134290 from huww98/kcm-no-get-pv
Do not get PV for externally deleting volume
2026-03-12 05:13:35 +05:30
Kubernetes Prow Robot
85a2c747e2 Merge pull request #137642 from tallclair/testgetpods
Fix flake in TestGetPods
2026-03-12 04:07:42 +05:30