Commit Graph

7160 Commits

Author SHA1 Message Date
Lukasz Szaszkiewicz dcdc23d1b3 apiserver/storage/cacher: decrease running time of TestCacheWatcherDrainingNoBookmarkAfterResourceVersionReceived
before:
go test -v -race -count 1 -run ^TestCacheWatcherDrainingNoBookmarkAfterResourceVersionReceived$
ok  	k8s.io/apiserver/pkg/storage/cacher	3.792s

after:
go test -v -race -count 1 -run ^TestCacheWatcherDrainingNoBookmarkAfterResourceVersionReceived$
ok  	k8s.io/apiserver/pkg/storage/cacher	1.783s

Kubernetes-commit: d21b86d53a3c4c42e41f8374e537c721251a00d2
2024-03-14 10:44:51 +01:00
Kubernetes Publisher 6333c07926 Merge pull request #124223 from chenk008/fix_apf_countTracker
Fix: EtcdOptions.StorageObjectCountTracker is nil, APF estimator got ObjectCountNotFoundErr

Kubernetes-commit: 69b648a1d7074cbe004bf7adb3cdb17f01a4e9d8
2024-04-19 09:44:23 +00:00
chenk008 f687e45ec2 prioritize user EtcdOptions.StorageConfig.StorageObjectCountTracker
Kubernetes-commit: 587ce02d90f3c1e1bb7418753009baf63f6039b7
2024-04-18 23:02:16 +08:00
Kubernetes Publisher 69d05fc758 Merge pull request #124247 from seans3/stream-doc-file
Adds apiserver proxy doc.go

Kubernetes-commit: 7c9eb3746f3dd95cc09874a884526d9b22be6e9b
2024-04-18 13:48:39 +00:00
Kubernetes Publisher 8c72d838c6 Merge pull request #124163 from flavianmissi/resource-quota-single-flight
resourcequota: use singleflight.Group to reduce apiserver load

Kubernetes-commit: 7b33887879b56c040a6af8d445ce578accb989e1
2024-04-18 13:48:36 +00:00
Kubernetes Publisher 245b93ce29 Merge pull request #124004 from srivastav-abhishek/catcher-test-fix
Fixed flake test due to data race in while accessing dummyStorage in cacher-test

Kubernetes-commit: 9966d05dba26131f9126afd10a71161d8f6a948b
2024-04-18 09:50:03 +00:00
Kubernetes Publisher 5364ad827e Merge pull request #123997 from wojtek-t/speedup_watch_test
Relax WatchSemanticsTest to make it faster

Kubernetes-commit: 41f9c708fbb592dbfe4f926efc1aed2bf46f8ef1
2024-04-18 09:50:02 +00:00
Kubernetes Publisher 4b2cb3c960 Merge pull request #123972 from deads2k/remove-insecure-serving
Remove k8s.io/apiserver ability to bind insecure ports

Kubernetes-commit: daa3356e72a4586a2676b90ec3b664687b6bc2a0
2024-04-18 09:50:02 +00:00
Kubernetes Publisher b0dd9fef17 Merge pull request #123937 from p0lyn0mial/upstream-use-initial-events-annotation-key-const
use metav1.InitialEventsAnnotationKey const

Kubernetes-commit: c016b0b9a8ca63dbec1fade0910c2a06017cc4ab
2024-04-18 09:50:01 +00:00
Kubernetes Publisher 926889f038 Merge pull request #123860 from p0lyn0mial/upstream-storage-unused-function
apiserver/pkg/storage/utils: remove unused EverythingFunc

Kubernetes-commit: 02b986e65dacc2e5886d77efe35bf98666ae1086
2024-04-18 09:49:59 +00:00
Kubernetes Publisher 36301fef8e Merge pull request #123669 from pohly/cel-quantity-conversion-fix
cel: fix conversion of quantity to quantity

Kubernetes-commit: 35ffb484257f6fc8710baa657f438ad28707149f
2024-04-18 09:49:59 +00:00
Kubernetes Publisher 32d42093a4 Merge pull request #123584 from fatsheep9146/rename-apiserver-spanname
Rename APIServer trace span name to conform to http server guidelines

Kubernetes-commit: 2d4fecfe333660d6908e795aaa9964d0f00ac781
2024-04-18 09:49:58 +00:00
Kubernetes Publisher e22545def5 Merge pull request #121970 from pohly/log-apimachinery-runtime
apimachinery runtime: support contextual logging

Kubernetes-commit: d35ba3635b0fe9cee75e2376e6445113d50437b7
2024-04-18 09:49:56 +00:00
Kubernetes Publisher ba6e7aabe5 Merge pull request #116781 from muff1nman/protobuf-fully-qualified-types
generate fully qualified type references

Kubernetes-commit: 0dc45103d879c3b280671f009d3f830650903894
2024-04-18 01:44:36 +00:00
Kubernetes Publisher 38b28e9ee5 Merge pull request #124283 from dims/rename-cluster-to-storage_cluster_id-for-apiserver_storage_size_bytes-metric
Rename Label `cluster` to `storage_cluster_id` for apiserver_storage_size_bytes metric

Kubernetes-commit: cae35dba5a3060711a2a3f958537003bc74a59c0
2024-04-12 00:13:00 -07:00
Davanum Srinivas a22f7973bf Rename `cluster` to `storage_cluster_id` for apiserver_storage_size_bytes metric
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: fb5140f562289f3ffe596b4a3af4650b850a0941
2024-04-11 15:06:03 -04:00
Sean Sullivan d4a69afe4c Adds apiserver proxy doc.go
Kubernetes-commit: 98ecfd0468c8f05bb49ddade1b71eb9683bdc1a2
2024-04-09 17:56:46 +00:00
chenk008 70fb342c48 Fix: StorageObjectCountTracker is nil, apf estimator got ObjectCountNotFoundErr
Kubernetes-commit: 4abc2b387b188d694e369e05c08effce9d23e7e7
2024-04-08 11:09:27 +08:00
Kubernetes Publisher 8bbbe76e96 Merge pull request #124174 from dims/update-x/net-for-CVE-2023-45288
Update x/net for CVE-2023-45288

Kubernetes-commit: d9c54f69d4bb7ae1bb655e1a2a50297d615025b5
2024-04-04 04:07:30 +00:00
Davanum Srinivas 2a3f6c8b16 Update x/net for CVE-2023-45288
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 99fac38d2864e6bc9bb7cd1743d658caa1360c0c
2024-04-03 16:37:18 -04:00
Flavian Missi 20894ccdfa resourcequota: use singleflight.Group to reduce apiserver load
relates to #22422 and #123806

Kubernetes-commit: e13ff5ece2691988503d183b495cc7c39e899647
2024-04-03 09:58:27 +02:00
Abhishek Kr Srivastav 1d434b32e1 Added locks when accessing dummyStorage to prevent data race
Removed redundant locks

Removed locks and used existing func

Kubernetes-commit: eb5d2ca9d8efd6dcbbea582920c700ae86db4132
2024-03-20 14:23:33 +05:30
Kubernetes Publisher 2a4a82c50e Merge pull request #123994 from serathius/undo-double-run-test-watch-semantics
Undo double run of the TestWatchSemantics test to avoid hitting timeout

Kubernetes-commit: fe9e4698a33565e9d334439f3a6e494366d8ee8d
2024-03-19 20:10:09 +00:00
Wojciech Tyczyński b1a1768456 Relax WatchSemanticsTest to make it faster
Kubernetes-commit: a26ee123952eeb86467e61ff2eb744c9e736a045
2024-03-19 20:23:56 +01:00
Marek Siarkowicz 7a3a726271 Undo double run of the TestWatchSemantics test to avoid hitting timeout
Kubernetes-commit: 225749eb68b3aa3485a1f2dc5d0cafb5dfe53421
2024-03-19 15:16:52 +01:00
Kubernetes Publisher e166c44e22 Merge pull request #123785 from seans3/streamtunnel-unit-tests
Adds unit tests to `PortForward` streamtunnel

Kubernetes-commit: 065a0f2d5116cc6f66eb8a0c6296e05b90838ec8
2024-03-18 16:10:00 +00:00
David Eads 8c4fa4e478 Remove k8s.io/apiserver ability to bind insecure ports
The project does not recommend using insecure ports.  Even
unauthenticated TLS is an improvement since it provides confidentiality.
If you relied upon this, please update to secure serving options.

Kubernetes-commit: de302c73e9558c192fde1cd7d6dcbea7eb76e950
2024-03-18 09:25:49 -04:00
Kubernetes Publisher ec72042fc5 Merge pull request #123935 from serathius/consistent-watch-from-etcd
Serve watch without resourceVersion from cache and introduce a WatchFromStorageWithoutResourceVersion feature gate to allow serving watch from storage

Kubernetes-commit: a1605fb3dd2d45474751ec3de30633ac1ec15c41
2024-03-18 05:51:14 -07:00
Ziqi Zhao 39347989da fix for comments to ignore the request without request info
Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

Kubernetes-commit: 91af1145bf7b0e18a6b520a78875a1db6db29d96
2024-03-15 09:42:42 +08:00
Marek Siarkowicz 13a815b7c8 Serve watch without resourceVersion from cache and introduce a WatchFromStorageWithoutResourceVersion feature gate to allow serving watch from storage.
Kubernetes-commit: 0130072b053f85fb736c24d34552208cdd1bccfe
2024-03-14 15:20:29 +01:00
Kubernetes Publisher 7661bd2fe3 sync: update go.mod 2024-03-18 12:15:34 +00:00
Kubernetes Publisher 05c844e2a2 Merge pull request #123676 from serathius/rv0
Fix enabling consistent list from watch cache also works for resourceVersion=0

Kubernetes-commit: 89b1db79d75e367f567ea06c0528ef4b8f3fecb4
2024-03-15 21:39:11 +00:00
Kubernetes Publisher d5a8607203 Merge pull request #123926 from p0lyn0mial/upstream-deflake-test-get-list-non-recursive-with-consistent-list
apiserver/storage/cacher: deflake TestGetListNonRecursiveWithConsistentListFromCache

Kubernetes-commit: 89f03e3988a4e7fed90ffce22f355ff248520ad2
2024-03-14 21:14:25 +00:00
Kubernetes Publisher f6a2b2b2cb Merge pull request #123925 from p0lyn0mial/upstream-cacher-decrease-watch-not-hanging-on-startup-failure
apiserver/storage/cacher: decrease running time of TestWatchNotHangingOnStartupFailure

Kubernetes-commit: d1a2a134c532109540025c990697a6900c2e62fc
2024-03-14 02:06:09 -07:00
Lukasz Szaszkiewicz b8c7d7868f apiserver/storage/cacher: deflake TestGetListNonRecursiveWithConsistentListFromCache
Kubernetes-commit: c44cc9a575f3bf1248b2fdc8e3a7ba61ab844618
2024-03-14 09:08:29 +01:00
Lukasz Szaszkiewicz a2c5722d64 apiserver/storage/cacher: decrease running time of TestWatchNotHangingOnStartupFailure
before:
go test -v -race -count 1 -run ^TestWatchNotHangingOnStartupFailure$
ok  	k8s.io/apiserver/pkg/storage/cacher	6.775s

after:
go test -v -race -count 1 -run ^TestWatchNotHangingOnStartupFailure$
ok  	k8s.io/apiserver/pkg/storage/cacher	2.781s

Kubernetes-commit: f5d945eb43c7bf8036a4bad8c22448e1146a7498
2024-03-14 08:59:47 +01:00
Kubernetes Publisher 7dbc368d22 Merge pull request #123891 from p0lyn0mial/upstream-cacher-decrease-running-time-of-test-wait-unti-fresh
apiserver/storage/cacher: decrease of running time of TestWaitUntilWatchCacheFreshAndForceAllEvents

Kubernetes-commit: 3a75a8c8d9e6a1ebd98d8572132e675d4980f184
2024-03-13 16:08:38 +00:00
Kubernetes Publisher fb5c182ce6 Merge pull request #123887 from p0lyn0mial/upstream-cacher-decrease-running-time-of-tests
apiserver/storage/cacher: decrease the running time of tests in the cacher package.

Kubernetes-commit: 308d664e3fdb73c4436e812d2f1395dcf9e0e2e9
2024-03-13 16:08:37 +00:00
Kubernetes Publisher 6a24b53962 Merge pull request #123897 from p0lyn0mial/upstream-cacher-decrease-running-time-of-empty-watch-event-cache
apiserver/storage/cacher: decrease of running time of TestEmptyWatchEventCache

Kubernetes-commit: 881cc5bc968276b05eba9be9a162873c29c2fda2
2024-03-13 12:20:44 +00:00
Ziqi Zhao 54b3a0e7f5 add http method to span name
Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

Kubernetes-commit: 1aeb0ba314016f2a2cd94b0450ba097c2b165e5d
2024-03-13 13:25:36 +08:00
Kubernetes Publisher 342a6b899d Merge pull request #123674 from serathius/non-recursive
Fix non-recursive list returning "resource version too high" error when consistent list from cache is enabled

Kubernetes-commit: 3409f0594c94185010217f3e5156c1de9f08b405
2024-03-12 08:34:06 -07:00
Ziqi Zhao 29913c19e4 change the integration test
Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

Kubernetes-commit: 02154293c76a0ea54293c82236c9025b96ea0125
2024-03-12 22:49:38 +08:00
Lukasz Szaszkiewicz 80f9ab2a6a apiserver/storage/cacher: decrease of running time of TestEmptyWatchEventCache
updates the test to wait 300 ms instead of 3s
the watch was established otherwise
we would be blocking on a call to cache.Watch(...)
in addition to that, the tests are serial in nature,
meaning that there is no other actor
that could add items to the database,
which could result in receiving new items.

Before:
go test -race  -run TestEmptyWatchEventCache
ok  	k8s.io/apiserver/pkg/storage/cacher	8.450s

After:
go test -race  -run TestEmptyWatchEventCache
ok  	k8s.io/apiserver/pkg/storage/cacher	2.635s

Kubernetes-commit: 926122c035a4f47a880db24d1a0be7ec129dd44d
2024-03-12 13:34:04 +01:00
Lukasz Szaszkiewicz c14671349b apiserver/storage/cacher: decrease of running time of TestWaitUntilWatchCacheFreshAndForceAllEvents
The individual cases can be safely run in parallel.

Before
go test -race  -run TestWaitUntilWatchCacheFreshAndForceAllEvents
ok  	k8s.io/apiserver/pkg/storage/cacher	10.787s

After:
go test -race  -run TestWaitUntilWatchCacheFreshAndForceAllEvents
ok  	k8s.io/apiserver/pkg/storage/cacher	4.857s

Kubernetes-commit: 3ecbb4dee00a5dd1e43e24a5952c2a90ef507ef1
2024-03-12 10:50:44 +01:00
Lukasz Szaszkiewicz 361687d2ad apiserver/storage/cacher: decrease the running time of tests in the cacher package.
It turns out that kube has a custom timeout for tests of 3 minutes.
The tests in the cacher package are utilizing nearly the
entire time and are being terminated, resulting in failing jobs.

Before the change, the TestWatchSemantics took ~43s to run. With this simple change, it now takes ~18s.

When we created the tests, we didn't measure the running time and assumed that waiting 1 second on a watch channel
to make sure no more events are received was sufficient.
This PR decreases the waiting time to 300 milliseconds.
Modern computers can perform many tasks within that time.
In addition to that, the tests are serial in nature, meaning that there is no other
actor that could add items to the database, which could result in receiving new items.

After the change the total running time decreased by 17%.
Before the tests needed ~176s after they need ~146s.
The changes also improved TestWatchSemanticInitialEventsExtended.

Kubernetes-commit: 5a74c8e2202044b664efce4be5d86d700e74506f
2024-03-12 09:15:55 +01:00
Lukasz Szaszkiewicz d4f6eff589 apiserver/pkg/storage/utils: remove unused EverythingFunc
since we don't provide compatibility guarantees for the storage
package it is okay to simply remove unused function.

Kubernetes-commit: a40f25f8e6516d1a59169cf88db8b3850a8c48c7
2024-03-11 11:47:02 +01:00
Lukasz Szaszkiewicz 9bfd27dc1c apiserver/storage: use metav1.InitialEventsAnnotationKey const
Kubernetes-commit: ed2b92c3dfb7d56155021824f0d9a61609dac051
2024-03-11 11:40:21 +01:00
Sean Sullivan 5e1f7568bd adds portforward streamtunnel unit tests
Kubernetes-commit: ffafb2b9ca94c14c07fb6c1fc75fccd3aba26f1f
2024-03-06 16:37:17 -08:00
Marek Siarkowicz 67b6245fc3 Fix enabling consistent list from watch cache also works for resourceVersion=0
Kubernetes-commit: 0b8e79580eb3a63ca7707626b4894adfb9125586
2024-03-04 19:35:34 +01:00
Marek Siarkowicz 483da2032d Fix non-recursive list when consistent list from cache is enabled
Kubernetes-commit: a527cab9fce0b0234db8b4e1e95a0fc20e135df1
2024-03-04 17:59:04 +01:00