Commit Graph

26856 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
a62752db51 Merge pull request #130110 from neolit123/1.33-remove-from-test-owners
sig-cl: update owners for 1.33
2025-02-12 05:22:06 -08:00
Lubomir I. Ivanov
54e2416210 update sig cl owners in k/k 2025-02-12 11:04:11 +02:00
Kubernetes Prow Robot
9a9f10bc7b Merge pull request #130038 from jsafrane/selinux-controller-e2e-debian
selinux e2e: Add support for Debian and Ubuntu
2025-02-11 13:39:58 -08:00
Arda Güçlü
c7a90b670c Introduce kuberc as new flag to customize defaulting and define aliases in kubectl (#125230) 2025-02-11 12:05:58 -08:00
Kubernetes Prow Robot
77d7f63800 Merge pull request #130074 from cpanato/update-123-main
[go] Bump images, dependencies and versions to go 1.23.6 and distroless iptables
2025-02-11 06:30:06 -08:00
Kubernetes Prow Robot
7a8a4c201a Merge pull request #129933 from serathius/deprecate-namespace-index
Disable StorageNamespaceIndex feature gate when BtreeWatchCache enabled and deprecate it
2025-02-11 06:29:59 -08:00
Kubernetes Prow Robot
670b98bf92 Merge pull request #130049 from aojea/avoid_ginkgo_dep
reduce dependencies in apimachinery net testing utils
2025-02-11 03:32:00 -08:00
Antonio Ojea
af3b9e613d reduce dependencies in apimachinery net testing utils
Consumers of the kubernetes golang API and clients must use
k8s.io/api,apimachinery,client-go. This is also require to download all
the necessary dependencies.

The apimachinery code contains a testing util for proxies that is used
in client-go and in the kubectl e2e. Since the tests on e2e require
ginkgo and we want to ensure this testing library is not used in
production, we cast the interface to match one of those libraries, but
the problem is that this forces consumers of apimachinery to also
download the ginkgo library.

Since NewHTTPProxyHandler receives a testing.TB interface, there is no
need to cast the interface, if someone wants to use it by implementing a
testing interface it is already aware of the risks.
2025-02-11 08:21:37 +00:00
Kubernetes Prow Robot
e2b0cfa3a1 Merge pull request #129934 from serathius/graduate-btree
Graduate BtreeWatchCache feature gate to GA
2025-02-10 12:05:56 -08:00
cpanato
8ee64ba6b5 Bump images, dependencies and versions to go 1.23.6 and distroless iptables
Signed-off-by: cpanato <ctadeu@gmail.com>
2025-02-10 14:04:37 -06:00
Michal Wozniak
fff9914158 Fix the flaky Job test: TestSuccessPolicy_ReEnabling 2025-02-10 14:42:33 +01:00
Yusuke Sakurai
5d278c138c fix labelvalues for scheduler-perf 2025-02-10 10:00:52 +09:00
Jan Safranek
9ebe4422a9 Add support for Debian and Ubuntu
Both Debian and Ubuntu + containerd can run with SELinux enabled. Add their
defaults to the SELinux e2e tests.
2025-02-07 14:42:27 +01:00
Kubernetes Prow Robot
bfde2edba7 Merge pull request #126423 from AndrewSirenko/negative-e2e
Add volume modify recovery e2e test
2025-02-06 23:05:55 -08:00
Kubernetes Prow Robot
ee22760391 Merge pull request #130017 from aramase/aramase/f/enable_serviceaccountnodeaudiencerestriction_1.33
Enable ServiceAccountNodeAudienceRestriction feature gate by default in v1.33
2025-02-06 14:40:06 -08:00
Kubernetes Prow Robot
7b38ff48af Merge pull request #129993 from aramase/aramase/i/fix_129935
Fix service account node audience restriction for in-tree pv to csi migration
2025-02-06 14:39:55 -08:00
Kubernetes Prow Robot
e6be5f9602 Merge pull request #129416 from siyuanfoundation/refactor
KEP-4330: Refactor compatibility version code
2025-02-06 12:17:56 -08:00
Anish Ramasekar
cd9fc8bc71 Enable ServiceAccountNodeAudienceRestriction feature gate by default in v1.33
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-02-06 14:11:17 -06:00
Anish Ramasekar
5738ee4def Disable ServiceAccountNodeAudienceRestriction feature gate by default in v1.32
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-02-06 14:10:20 -06:00
Anish Ramasekar
62809dd0de node audience restriction: use csi translator to convert intree inline_vol/pv to csi
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-02-06 13:17:16 -06:00
Kubernetes Prow Robot
491a23f079 Merge pull request #129999 from pohly/test-e2e-node-timeout
E2E node: fix --timeout default
2025-02-06 03:59:55 -08:00
Patrick Ohly
46a17f60e4 E2E node: fix --timeout default
For unknown reasons, hack/make-rules/test-e2e-node.sh adds -timeout instead of
--timeout. Therefore the fallback code in test/e2e_node/remote/remote.go didn't
find it and added its own --timeout=60m after it. This effectively limits E2E
node test runs to 60 minutes, regardless of what is specified in the job:

    W0206 09:53:51.425532    7151 remote.go:158] ginkgo flags are missing explicit --timeout (ginkgo defaults to 60 minutes)
    I0206 09:53:51.425565    7151 remote.go:165] updated ginkgo flags: -timeout=24h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow"  --no-color -v --timeout=60m
    ...
    I0206 09:53:57.767096    7151 ssh.go:146] Running the command ssh, with args: ... timeout -k 30s 3600.000000s ./ginkgo -timeout=24h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow"  --no-color -v --timeout=60m ...

Note that the timeout for the test was 60m in this case (hence the "timeout -k
30s 3600.000000s") but it could also be something larger.
2025-02-06 11:45:12 +01:00
Kubernetes Prow Robot
9a03243789 Merge pull request #129929 from serathius/deprecate-separate-rpc
Flip SeparateCacheWatchRPC feature gate to false and deprecate it
2025-02-05 17:18:16 -08:00
Siyuan Zhang
8fc3a33454 Refactor compatibility version code
Replace DefaultComponentGlobalsRegistry with new instance of componentGlobalsRegistry in test api server.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

move kube effective version validation out of component base.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

move DefaultComponentGlobalsRegistry out of component base.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

move ComponentGlobalsRegistry out of featuregate pkg.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

remove usage of DefaultComponentGlobalsRegistry in test files.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

change non-test DefaultKubeEffectiveVersion to use DefaultBuildEffectiveVersion.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

Restore useDefaultBuildBinaryVersion in effective version.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

rename DefaultKubeEffectiveVersion to DefaultKubeEffectiveVersionForTest.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

pass options.ComponentGlobalsRegistry into config for controller manager and scheduler.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

Pass apiserver effective version to DefaultResourceEncodingConfig.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

change statusz registry to take effective version from the components.

Signed-off-by: Siyuan Zhang <sizhang@google.com>

Address review comments

Signed-off-by: Siyuan Zhang <sizhang@google.com>

update vendor

Signed-off-by: Siyuan Zhang <sizhang@google.com>
2025-02-05 16:10:53 -08:00
Kubernetes Prow Robot
22f25efc2c Merge pull request #128991 from Henrywu573/cm-statuz
Add statusz endpoint for kube-controller-manager
2025-02-05 15:54:15 -08:00
Kubernetes Prow Robot
0634e21fb5 Merge pull request #128367 from vivzbansal/sidecar-2
[FG:InPlacePodVerticalScaling] Implement resize for sidecar containers
2025-02-05 14:38:15 -08:00
Kubernetes Prow Robot
925cf7db71 Merge pull request #129930 from serathius/deprecate-watch-from-storage
Deprecate WatchFromStorageWithoutResourceVersion
2025-02-05 10:18:23 -08:00
Henry(Qishan) Wu
8bd4e1bab2 Update test/integration/serving/serving_test.go
Co-authored-by: Antonio Ojea <antonio.ojea.garcia@gmail.com>
2025-02-05 09:48:08 -08:00
Kubernetes Prow Robot
8b1307894d Merge pull request #129962 from cpanato/update-go-123-main
[go] Bump images, dependencies and versions to go 1.23.5 and distroless iptables
2025-02-05 05:48:16 -08:00
Kubernetes Prow Robot
c7489b20f2 Merge pull request #129750 from googs1025/scheduler/add_integration_for_queuesortplugin
feature: add scheduler queuesort plugins integration test
2025-02-05 03:08:17 -08:00
Marek Siarkowicz
065bf2004d Deprecate WatchFromStorageWithoutResourceVersion
Around the 1.31 release, we discovered that a change introduced in 1.27 allowead
clients to open WATCH requests directly to etcd. This had detrimental consequences,
enabling abusive clients to bypass caching and overwhelm etcd.
Unlike the API server, etcd lacks protection against such behavior.

To mitigate this, we redirected all WATCH requests to be served from the cache.
The WatchFromStorageWithoutResourceVersion feature gate was retained as an escape hatch.
However, since we have no plans to allow direct WATCH requests to etcd again,
this flag is now obsolete.

Direct WATCH requests to etcd offer no advantage, as they don't provide stronger
consistency guarantees. WATCH operations are inherently inconsistent; unlike LIST
operations, they do not confirm the resource version with a quorum. While Kubernetes
uses the WithRequireLeader option on WATCH requests to prevent maintaining connections
to isolated etcd members, the API server provides the same level of guarantee through
its health checks, which fail if it cannot connect to etcd member.  Therefore,
the WatchFromStorageWithoutResourceVersion feature gate can be deprecated and removed.
2025-02-05 11:42:18 +01:00
Marek Siarkowicz
b1ad53c533 Disable StorageNamespaceIndex feature gate when BtreeWatchCache is enabled and deprecate it
Previously, the cache used a map keyed by the full object key,
requiring iteration and filtering by namespace for namespace-scoped requests.
This index allowed for faster responses by avoiding this iteration.

With the introduction of the BtreeWatchCache, this optimization is no longer necessary.
The B-tree structure allows efficient prefix-based searches,
including fetching objects by namespace.
Furthermore, the B-tree returns elements ordered by key, eliminating the need for separate sorting.

Performance improvements with the BtreeWatchCache have been validated through benchmarks matching K8s scalability dimentions (see table below).
These results demonstrate that the B-tree approach provides comparable or better performance than the map with index.
Therefore, the StorageNamespaceIndex feature flag can be safely flipped to false and subsequently deprecated.

| Benchmark                                                                         | Btree with Index (current) | Btree without Index    | Map with Index         | Map without Index (sanity check) |
| --------------------------------------------------------------------------------- | -------------------------- | ---------------------- | ---------------------- | -------------------------------- |
| StoreList (10k Namespaces, 150k Pods, 5k Nodes, RV=, Namespace Scope)             | 20.77µs ± 10%              | 20.14µs ± 13% (~0%)    | 19.73µs ± 6% (~0%)     | 1067.34µs ± 10% (+5037.73%)      |
| StoreList (10k Namespaces, 150k Pods, 5k Nodes, RV=NotOlderThan, Namespace Scope) | 3.943µs ± 6%               | 3.928µs ± 6% (~0%)     | 3.665µs ± 3% (-7.05%)  | 944.641µs ± 1% (+23857.41%)      |
| StoreList (50 Namespaces, 150k Pods, 5k Nodes, RV=, Namespace Scope)              | 303.3µs ± 2%               | 258.2µs ± 2% (-14.85%) | 340.1µs ± 3% (+12.15%) | 1668.6µs ± 4% (+450.23%)         |
| StoreList (50 Namespaces, 150k Pods, 5k Nodes, RV=NotOlderThan, Namespace Scope)  | 286.2µs ± 3%               | 234.7µs ± 1% (-17.99%) | 326.9µs ± 2% (+14.22%) | 1347.7µs ± 4% (+370.91%)         |
| StoreList (100 Namespaces, 110k Pods, 1k Nodes, RV=, Namespace Scope)             | 125.3µs ± 2%               | 112.3µs ± 5% (-10.38%) | 137.5µs ± 2% (+9.81%)  | 1395.1µs ± 8% (+1013.78%)        |
| StoreList (100 Namespaces, 110k Pods, 1k Nodes, RV=NotOlderThan, Namespace Scope) | 120.6µs ± 2%               | 113.2µs ± 1% (-6.13%)  | 133.8µs ± 1% (+10.92%) | 1719.1µs ± 5% (+1325.35%)        |
| Geometric Mean                                                                    | 68.94µs                    | 62.73µs (-9.02%)       | 72.72µs (+5.48%)       | 1.326ms (+1823.40%)              |
2025-02-05 10:49:22 +01:00
Kubernetes Prow Robot
c4434c3161 Merge pull request #129910 from bitoku/fix-129836
Fix flaky test for container life cycle
2025-02-04 16:23:09 -08:00
Kubernetes Prow Robot
fab0d76574 Merge pull request #129731 from gjkim42/promote-sidecar-containers-to-ga
Promote SidecarContainers feature to GA
2025-02-04 16:22:58 -08:00
Kubernetes Prow Robot
f82439f536 Merge pull request #129486 from iholder101/bugfix/swap-container-cri-stats
[KEP-2400] [Bugfix]: Ensure container-level swap metrics are collected
2025-02-04 08:14:59 -08:00
Kubernetes Prow Robot
a376ae5dad Merge pull request #128845 from SergeyKanzhelev/staticPodUpgrade
static pod upgrade test with hostNetwork
2025-02-03 23:30:58 -08:00
cpanato
0ca45bd4f8 Bump images, dependencies and versions to go 1.23.5 and distroless iptables
Signed-off-by: cpanato <ctadeu@gmail.com>
2025-02-03 18:26:38 +01:00
Kubernetes Prow Robot
82e3a671e7 Merge pull request #129920 from googs1025/feature/integration_scoring
feature: Added score integration tests for missing part plugins: TaintToleration plugin
2025-02-03 08:46:57 -08:00
googs1025
5281152f07 feature: Added score integration tests for missing part plugins: TaintToleration plugin 2025-02-03 21:20:00 +08:00
Patrick Ohly
e2ff03486d scheduler_perf: add thresholds to DRA test cases
They were enabled yesterday and executed seven times, with results that (so
far) seem to be fairly stable with just one run that was slower across the
board.

The links in the YAML can be used to navigate to each test case quickly. The
thresholds were chose with a 20% security margin below what seems to be a
common result.
2025-02-03 13:10:10 +01:00
Gunju Kim
0bee0bcaa7 Promote SidecarContainers feature to GA 2025-02-02 17:45:36 +09:00
Kubernetes Prow Robot
b4f902f037 Merge pull request #129897 from vinayakankugoyal/testfix
Fix kubelet_authz_test.go
2025-01-31 08:52:56 -08:00
Vinayak Goyal
81f09811ca Fix kubelet_authz_test.go 2025-01-31 15:38:18 +00:00
Marek Siarkowicz
e0f548183c Graduate BtreeWatchCache feature gate to GA 2025-01-31 15:33:24 +01:00
Marek Siarkowicz
4a5bbc4c15 Flip SeparateCacheWatchRPC feature gate to false and deprecate it.
Watch requests to etcd are mapped to a single stream that has a limited throughput.
By opening a lot of concurrent watch requests to single resource, users
could starve other watches from getting any events.

Separating the RPC was meant to protect the watch opened by cache.
However, as we are no longer planning to allow users to open watch directly to etcd,
the flag is not needed.
2025-01-31 14:08:15 +01:00
Kubernetes Prow Robot
0a62cb2209 Merge pull request #129914 from soltysh/expand_portfowrad_errors
e2e: expand error conditions when test-ing port-forward
2025-01-30 21:33:23 -08:00
Kubernetes Prow Robot
4bf6cdb60c Merge pull request #129554 from zylxjtu/bootid
Add the check of node rebooting in windows reboot_node e2e test
2025-01-30 17:33:23 -08:00
Maciej Szulik
4619a89eba e2e: expand error conditions when test-ing port-forward
Signed-off-by: Maciej Szulik <soltysh@gmail.com>
2025-01-30 19:07:28 +01:00
Michal Wozniak
0d5d714c2a Fix the remaining flaky integration tests in Job controller 2025-01-30 18:20:34 +01:00
Kubernetes Prow Robot
59f3aa1e34 Merge pull request #129894 from mimowo/fix-flaky-job-controller-test
Fix the flaky Job integration tests
2025-01-30 08:49:30 -08:00