Commit Graph

7818 Commits

Author SHA1 Message Date
Siyuan Zhang 9bb4aa730a 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>

Kubernetes-commit: 8fc3a33454ba38783bb63de41ecf5343e2ced67c
2024-12-20 07:03:03 +00:00
Kubernetes Publisher 9bb5fd51d1 Merge pull request #129929 from serathius/deprecate-separate-rpc
Flip SeparateCacheWatchRPC feature gate to false and deprecate it

Kubernetes-commit: 9a03243789677637762eb0f907e1b4e45a0136c1
2025-02-06 05:02:19 +00:00
Kubernetes Publisher 7b8dc61f0b Merge pull request #129930 from serathius/deprecate-watch-from-storage
Deprecate WatchFromStorageWithoutResourceVersion

Kubernetes-commit: 925cf7db71c5e36072f99e8b7129523f659ee3a1
2025-02-05 21:02:52 +00:00
Kubernetes Publisher 0198fdbe95 Merge pull request #129921 from srivastav-abhishek/fix-etcd-test
Additional timeout to receive all watchEvents

Kubernetes-commit: 1527a145b110f9907e3efde483d784fe362901f4
2025-02-05 21:02:51 +00:00
Kubernetes Publisher 2ce508cc43 Merge pull request #129844 from cici37/bumCEL
Bump cel-go to v0.23.2

Kubernetes-commit: 28ba942659a6fb8c8b9a22234176250fe004af06
2025-02-04 04:48:31 +00:00
Cici Huang 69f7857a7a Update the env option.
Kubernetes-commit: 8a3d0d68a20958d82f119c56036750f18bc52963
2025-02-03 18:07:23 +00:00
Marek Siarkowicz 0167eb5d20 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.

Kubernetes-commit: 065bf2004d27e5e3f1be3c0f128347d4060d8954
2025-01-31 11:49:28 +01:00
Marek Siarkowicz 66f788143e 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.

Kubernetes-commit: 4a5bbc4c159ec7d185d5fc39b95c48dbf3fab7d9
2025-01-31 11:38:58 +01:00
Abhishek Kr Srivastav 55da1afddb Additional timeout to receive all watchEvents
Kubernetes-commit: f6b527cb54e37513bbe60edb52890f3de481d000
2025-01-31 10:19:19 +05:30
Kubernetes Publisher 39a73cd3bd Merge pull request #129813 from yongruilin/golangci-featuregate-add
feat: add a lint rule to prevent Add unversioned featuregate

Kubernetes-commit: 547654a8a1da26aaf75e9506a57c210711dcaec9
2025-01-30 04:37:41 +00:00
Kubernetes Publisher 52f2fda3f7 Merge pull request #129596 from cici37/cvTest
Add tests for CEL library with compatible version

Kubernetes-commit: 964e5e0f192724de4c2a8e28ad8b511fd71a78b8
2025-01-27 20:41:34 +00:00
Cici Huang 7e0cbb5924 Bump cel-go to v0.23.2.
Kubernetes-commit: c1e0443232f9c6da9119ae71e8bd7d7ef8271088
2025-01-27 18:43:12 +00:00
Kubernetes Publisher 6c0d90b944 Merge pull request #129751 from pacoxu/EfficientWatchResumption
remove GAed EfficientWatchResumption

Kubernetes-commit: 3f26d005571dc5903e7cebae33ada67986bc40f3
2025-01-27 16:36:00 +00:00
Kubernetes Publisher 2911f5b534 Merge pull request #129815 from dims/linter-to-ensure-go-cmp/cmp-is-used-only-in-tests
Linter to ensure go-cmp/cmp is used ONLY in tests

Kubernetes-commit: d36322f8d76c8e2a456e381bcc6bb43e4bbe602c
2025-01-26 00:42:24 +00:00
Davanum Srinivas 0a703e3517 Linter to ensure go-cmp/cmp is used ONLY in tests
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 4e05bc20db99ff89b2d2205218d24b9935a7fdd7
2025-01-24 17:03:29 -05:00
yongruilin ee59411d80 feat: add a lint rule to prevent Add unversioned featuregate
Kubernetes-commit: 8a0937c03467d04a25e10473e9570d2c8286cf4b
2025-01-24 11:02:16 -08:00
Kubernetes Publisher f6d3d889a6 Merge pull request #129786 from JoelSpeed/drop-netip-variables
Drop declaration of IP/CDIR type CEL variables

Kubernetes-commit: 6b7b8e89caafa8291e9992912583977e2f0c1d4c
2025-01-23 10:14:59 -08:00
Joel Speed a3f27ceda4 Drop declaration of IP/CDIR type CEL variables
Kubernetes-commit: 2b24c518b04b67070c2e6bdbeb9f8ee74eb429c8
2025-01-23 15:15:42 +00:00
Kubernetes Publisher e35b5a7595 Merge pull request #129732 from dims/switch-to-v2.6.3-of-gopkg.in/go-jose/go-jose.v2
Switch to gopkg.in/go-jose/go-jose.v2 @ v2.6.3 and github.com/coreos/go-oidc @ v2.3.0

Kubernetes-commit: a444a5bfedb2807632447bfb8350bd41fd1a3d77
2025-01-23 00:36:41 +00:00
Kubernetes Publisher cf7237e44d Merge pull request #127709 from pohly/log-client-go-rest
client-go/rest: finish context support

Kubernetes-commit: 427cd18f726be3e3c4f657258dc17a97beca92d5
2025-01-22 20:59:02 +00:00
Davanum Srinivas 736476d22b update github.com/coreos/go-oidc to v2.3.0
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: faf30b30679e51f45ed70c714a0e9937d226329a
2025-01-22 13:41:04 -05:00
Paco Xu a2ab8dc0e3 remove GAed EfficientWatchResumption since v1.24
Kubernetes-commit: 69964319d1466d39a190a634a78440247ef83316
2025-01-22 16:50:26 +08:00
Davanum Srinivas 6e7ca2c0dc Switch to gopkg.in/go-jose/go-jose.v2 @ v2.6.3
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: c9e81cd84ca12d0a60c8e11eb318c13f657217c1
2025-01-21 09:21:27 -05:00
Kubernetes Publisher 6885e995e1 Merge pull request #129538 from hzxuzhonghu/http2-clean
Cleanup: only initiate http2 server options when http2 is not disabled

Kubernetes-commit: 2c9153576ec0eef9dfb4acac591874a71ff72cbb
2025-01-20 08:35:51 +00:00
Kubernetes Publisher 0e1bb963f7 Merge pull request #129679 from pacoxu/remove-APIListChunking
remove APIListChunking which was GAed since v1.29

Kubernetes-commit: bd55d18c75f4648b934ad0b548c017c523dd705b
2025-01-17 12:35:40 +00:00
Paco Xu b66aedfe5c remove APIListChunking which was GAed since v1.29
Kubernetes-commit: 8d7aed698b772d38087103f385569ab769647923
2025-01-17 15:56:19 +08:00
Kubernetes Publisher 626adbf67c Merge pull request #129303 from sttts/sttts-vap-jsonpatch-typeresolver-tests
apiserver/admission/cel: add unit tests for JSONPatch expressions

Kubernetes-commit: a935bb769eef444f7fe087b62ee04d5a7ef44f6a
2025-01-16 20:42:22 +00:00
Kubernetes Publisher ae92d91104 Merge pull request #129628 from 249043822/br004
remove duplicate getAttrsFunc calls to reduce temporary memory allocations

Kubernetes-commit: 63cb5837ddf5a9fdc542f6f26e84a35d19caa0ec
2025-01-16 08:35:25 +00:00
Kubernetes Publisher 2387b5d4a9 Merge pull request #129633 from skitt/revert-go-difflib-go-spew
Revert to go-difflib and go-spew releases

Kubernetes-commit: 6d570c923f66a1f214d0c3ba3eddd9a0cd0fae68
2025-01-15 20:42:29 +00:00
Kubernetes Publisher 2c1a1fa4ee Merge pull request #129547 from serathius/watchcache-bypass-test-valid
Only test requests that pass validation

Kubernetes-commit: ec2e0de35a298363872897e5904501b029817af3
2025-01-15 16:34:31 +00:00
Stephen Kitt 695a3a4c4e Revert to go-difflib and go-spew releases
The last dependency pulling in the tips of go-difflib and go-spew has
reverted to the last release of both projects, so k/k can revert to
the releases too. As can be seen from the contents of vendor, this
doesn't result in any actual change in the code.

Signed-off-by: Stephen Kitt <skitt@redhat.com>

Kubernetes-commit: 3986472b3c7202716f92e586ccfaa4b4fe573dc5
2025-01-15 09:07:27 +01:00
张可10140699 e802cf6daf remove duplicate getAttrsFunc calls to reduce temporary memory allocations
Kubernetes-commit: 479ff5a02b026caec40e8262785e8ffffb42085a
2025-01-15 10:15:02 +08:00
Kubernetes Publisher cd99eadfc3 Merge pull request #129622 from dims/update-to-latest-kustomize-v5.6.0
Update to latest kustomize v5.6.0 to drop `github.com/asaskevich/govalidator`

Kubernetes-commit: 42811635adc4840a6769d7a9f7fd47be8df99c43
2025-01-15 00:35:45 +00:00
Kubernetes Publisher 37d4665f53 Merge pull request #127375 from omerap12/issue_126311
Add test for CEL reserved symbols without double underscore

Kubernetes-commit: 165da9ad0fc7e895a9b72a463062cbf754f89f2b
2025-01-14 21:26:46 +00:00
Davanum Srinivas 5f060d93ca Drop github.com/asaskevich/govalidator
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 43d86c2a3ef056789c67b0f80bd1ebfcd375a0d4
2025-01-14 13:33:54 -05:00
Omer Aplatony 7ca4de7334 lint: removed empty line
Signed-off-by: Omer Aplatony <omerap12@gmail.com>

Kubernetes-commit: c0b49120e5318202b79a28212db150079acdfb01
2025-01-14 11:42:50 +02:00
Kubernetes Publisher 76f1672b11 Merge pull request #129590 from wojtek-t/cleanup_feature_gates
Remove WatchBookmark feature gate

Kubernetes-commit: f3cbd79db7f0c86a2d3602fdff6b174543d2cf1c
2025-01-14 00:42:32 -08:00
Cici Huang 3a132bfa52 Add test for compatible version
Kubernetes-commit: e179f0e364d58681377286c76af66e6084310f02
2025-01-13 19:11:32 +00:00
Wojciech Tyczyński 30363fdd34 Remove WatchBookmark feature gate
Kubernetes-commit: a7937f5391598b50bc5d6eafdad69a462bc55dec
2025-01-13 15:54:17 +01:00
Kubernetes Publisher 5edcd3c1b7 Merge pull request #124087 from krzysdabro/tests-apiserver-options-kms
apiserver: decrease timeout for TestKMSHealthzEndpoint

Kubernetes-commit: 36d316ebc524a47d05e479b848148c1acf1cee7b
2025-01-13 08:37:10 +00:00
Kubernetes Publisher e62b626c0f Merge pull request #129443 from serathius/watchcache-proxy
Watchcache proxy

Kubernetes-commit: cace64ab7ea82d9f9aa6a4913a500fb30f92a214
2025-01-10 20:47:37 +00:00
Kubernetes Publisher 6c470468a0 Merge pull request #129439 from serathius/refactor-delegate-2
Refactor shouldDelegateList

Kubernetes-commit: 20e1944f88484284a03b6e029bb2d64f53cf3e9d
2025-01-10 20:47:36 +00:00
Marek Siarkowicz a6c0914bb9 Only test requests that pass validation
Kubernetes-commit: 1b2bacda5bd978b68a6dc704606495b29b181690
2025-01-09 12:55:45 +01:00
Zhonghu Xu 29de537bfa Cleanupï: only initiate http2 server options when http2 is not disabled
Kubernetes-commit: a2a0a7521027c2887855dcc0c16857c79f720826
2025-01-09 11:28:51 +08:00
Marek Siarkowicz 74be087390 Extract and unify cache bypass logic by creating a CacheProxy struct
Kubernetes-commit: 4a4fc9da801f299176c7200e66224aa79b1c0817
2024-12-31 14:04:00 +01:00
Marek Siarkowicz b43177846d Refactor shouldDelegateList
Kubernetes-commit: e5a3bdb3a71575af0d165e8b08cfaba7d572b802
2024-12-31 11:57:43 +01:00
Kubernetes Publisher a2cdf2cd0f Merge pull request #129540 from serathius/test-list-cache-bypass
Test all possible combinations of input for shouldDelegateList

Kubernetes-commit: 75531ccc9ccd70f59207bd22e91938c4ba5c47da
2025-01-09 17:00:13 +00:00
Kubernetes Publisher 2241ea0052 Merge pull request #129542 from serathius/watchcache-benchmark-namespace
Add benchmarking of namespace index

Kubernetes-commit: 30de989fb57fb5921a7ae3e3203cf7ecac9cf3f0
2025-01-09 13:06:56 +00:00
Marek Siarkowicz 3c47ed7b1d Test all possible combinations of input for shouldDelegateList
Kubernetes-commit: fe895563d92f55068c6090e29dfbd21291b203d8
2024-12-31 11:42:28 +01:00
Dr. Stefan Schimanski ca7102a0c4 apiserver/admission/cel: add unit tests for JSONPatch expressions
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@gmail.com>

Kubernetes-commit: 78f9f214c02f8476b49749d23ffcd2fc312b5c39
2024-12-19 11:59:52 +01:00