Commit Graph

3770 Commits

Author SHA1 Message Date
Marek Siarkowicz 6811fdeb2d Unify should delegate list
Kubernetes-commit: 8fdd6fe4768d81da09f339c1dda831a05bb26f00
2025-03-20 11:08:37 +01:00
Marek Siarkowicz 5a059075db Serve LISTs with exact RV and continuations from cache
Kubernetes-commit: f82c9e56d928d1028d4b298578f275a2e5e69490
2024-07-03 21:36:51 +02:00
Siyuan Zhang b94acad08e chore: update emulation version help msg.
Signed-off-by: Siyuan Zhang <sizhang@google.com>

Kubernetes-commit: 0ec6566c68c4e10b0379518bb91fdc4edfce7adc
2025-03-19 10:29:42 -07:00
yongruilin 8702b38eb1 chore: Remove unused unversioned feature gate map by consolidating feature gate files
Kubernetes-commit: 7b5cbbb9618ae369fc5d5379703b3c2bda3f9d73
2025-02-12 13:41:01 -08:00
Marek Siarkowicz fa558b198a Create Snapshotter interface to fake the implementation
Kubernetes-commit: 3edeb60c089106229b582a8c6800388de433426a
2025-03-19 14:04:47 +01:00
Marek Siarkowicz 91724cfd41 Change precedence order for continue and legacy exact match
This doesn't matter for shouldDelegateList, but matters when picking
source of RV. RV from continue takes precedence.

Kubernetes-commit: 7da942ca7486310893d4f11f3af062957f953555
2025-03-19 13:58:43 +01:00
Marek Siarkowicz edd1d1f6ba Extend shouldDelegateList testing incorportating state of cacher
Kubernetes-commit: 929a9c0cad9b5c2c411a325fd4f356a2b5e01f13
2025-03-19 12:23:08 +01:00
Marek Siarkowicz 50f48ce4b3 Implement watchcache returning error from etcd that caused cache reinitialization
Kubernetes-commit: c09d87f79c90a5ebb0ef6a99abd13dec82b497e3
2025-03-18 16:48:33 +01:00
Richa Banker ae08979dcc Replace StorageVersion API with aggregated discovery to fetch served resources by a peer for MVP
Co-authored-by: Joe Betz <jpbetz@google.com>

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>

Kubernetes-commit: 8b2cee83c15b1fbc304123902e1bd8e8e06f0a12
2024-10-28 23:04:26 -07:00
Dan Millwood 10c2760fab Fix intermittent test failure
Start the informerFactory before WaitForCacheSync

Kubernetes-commit: b9cd017a2146996677aa28ec992f7ed796f88c9b
2025-02-12 16:22:47 +00:00
Marek Siarkowicz c59961a007 Test continue with negative RV for reading consistent RV
Kubernetes-commit: 6d21d8f2376b6e25064b10148b4f416e8d89a508
2025-03-17 12:10:54 +01:00
Stanislav Láznička a9904eef9e bump RemoteRequestHeaderUID featuregate to Beta, on by default
Kubernetes-commit: b3890d9fa0d054b9b97b3496423664c0baf1c567
2025-02-05 15:32:57 +01:00
Marek Siarkowicz 4da0062093 Fix missing recursive in consistency check, enable panic on failed check and fix typo in logs
Kubernetes-commit: 4f1912abf2d139c57036c5333f62bd5bddd289fe
2025-03-17 19:24:16 +01:00
Marek Siarkowicz cc5ef43352 Extract delegator.Helper interface to allow making delegate decision based on cache state
Kubernetes-commit: 984b475e74904dd61c10b23472798a21496edc8f
2025-03-17 15:46:02 +01:00
Anish Ramasekar 3a95207b18 Add unit test to validate email_verified in claim validation rules
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: af291a44c3a2e31ef58851d27aaa70e9a02fedaa
2025-03-17 15:38:35 -07:00
Anish Ramasekar 67dfc24d13 fix godoc for email_verified requirement when username contains claims.email
Using 'claims.?email_verified.orValue(true) == true' in the example
validation rule. By explicitly comparing the value to true, we let type-checking see the result
will be a boolean, and to make sure a non-boolean email_verified claim will be caught at runtime.

Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>

Kubernetes-commit: 916c7867f7ea766824728851a25b01ebbc600491
2025-03-17 15:18:05 -07:00
Abu Kashem 4c88a5c5ae skip admission for unsafe delete
Kubernetes-commit: ef3cb5c5afa0c9bedf52bd6c271af05430183f97
2025-03-05 13:45:45 -05:00
Marek Siarkowicz 7a33f524c6 Use ValidateListOptions in watch cache
Kubernetes-commit: 9e7c080b863896ffbe9eff2a7edc63aa72ec30cf
2025-03-10 14:29:24 +01:00
Jefftree cba5376d4f Gate apidiscovery/v2beta1 serving with a feature gate
Kubernetes-commit: 95d3d4a22d705ef6bf2d494c065743d356914e8d
2025-03-13 17:58:06 +00:00
googs1025 7af25044da flake: fix data race for TestApfWatchHandlePanic unit test
Signed-off-by: googs1025 <googs1025@gmail.com>

Kubernetes-commit: 1a660d3d0c9e93279c8faae56a4f8e1cca0003a4
2025-03-12 10:44:49 +08:00
Marek Siarkowicz 6f6da8e97b Add test cases for negative resource version in TestList
Kubernetes-commit: c4d77a07993302057441a886125c1c887e7869f1
2025-03-14 12:22:17 +01:00
Marek Siarkowicz a67992576e Test bypass for negative RV
Kubernetes-commit: 58d9b5c7b6467bb2cb14d49247cdada02e8f4a83
2025-03-14 14:34:43 +01:00
Marek Siarkowicz 3a2e1b53e5 Simplify bypass test by just testing shouldDelegateList function
Kubernetes-commit: d263344a9b400890409166c5823598a92bbb79fb
2025-03-14 14:26:44 +01:00
Marek Siarkowicz 6ace22f694 Fix flaky RunTestConsistentList
Noticed that cache might not nesseserly observe the write causing test
to flake. Fixed that changing the logic to require LessOrEqual of
writeRV instead of equal to writeRV. Also added comments explaining
edge cases.

Kubernetes-commit: 86169a7a1e09c120cadafc0213afbf9630f0d8af
2025-03-14 13:45:55 +01:00
Abhishek Kr Srivastav 1b0427a576 Removed parallel execution for test/subtest where AllocsPerRun is used
Kubernetes-commit: bed838955fa1b15169e6d1923ed4da4c09ca555a
2025-02-26 10:57:02 +05:30
Marek Siarkowicz f76f81aa6f Test recursive in TestGetListCacheBypass and separate overrides
Kubernetes-commit: 6d3bff83213b35797b23e89c90bfe939dd30c2cd
2025-03-04 20:07:41 +01:00
Siyuan Zhang 942f114031 Add option to explicitly enable future gv or gvr in runtime-config.
Signed-off-by: Siyuan Zhang <sizhang@google.com>

Kubernetes-commit: 3d2d8db83509eadcad0529fda1f8ef81e1682ca5
2025-02-07 16:43:58 -08:00
Siyuan Zhang 5a72bc815b Add emulation forward compatibility into api enablement and RemoveDeletedKinds.
Signed-off-by: Siyuan Zhang <sizhang@google.com>

Kubernetes-commit: 819cb8fe22fe37bf691f460bc32d0f03f53cce09
2025-02-04 10:11:56 -08:00
yongruilin 2b4f068bdb refactor: detach Info from apimachinery util version
- Remove `info` field from `Version` struct
- Modify `WithInfo` and `Info` methods to be deprecated
- Update version information retrieval to use base version info
- Simplify version information generation in compatibility tests
- Remove unnecessary version info passing in build and test scenarios

Kubernetes-commit: 14934b481ef6522d6c1003ded19002ea45abe5d1
2025-03-05 23:55:08 +00:00
yongruilin b6717882da feat: extend version information with more detailed version fields
- Add new version fields to version.Info struct:
  * EmulationMajor and EmulationMinor to track emulated version
  * MinCompatibilityMajor and MinCompatibilityMinor for compatibility tracking
- Update related code to populate and use these new fields
- Improve version information documentation and OpenAPI generation
- Modify version routes and documentation to reflect new version information structure

Kubernetes-commit: a3094ccbe6f9f134da29aedf4d6d87a9a97bf463
2025-02-06 16:11:12 -08:00
Joe Betz 24d512c91f Fix subresource parsing for declarative validation
Kubernetes-commit: d9a2dee622c0d2f2079194ff9700310041c10ed2
2025-03-13 13:05:54 -04:00
Marek Siarkowicz 3cb2448d98 Fix detecting consistent read when watchcache starts handling continue
Kubernetes-commit: 8f83f2446a5e2f11eb751fb56067c663b51cfd12
2025-03-12 18:37:10 +01:00
Aaron Prindle 4fe686a430 chore: change Info->Error log level related to declarative validation runtime tests and refactor panic wrapper names
Kubernetes-commit: 08745086e2df0cf1a91cbe5bb305c968f1d5bf2a
2025-03-12 17:40:33 +00:00
Jefftree 1623f6691b Promote CLE to beta
Kubernetes-commit: 3b88db4f2350498513c994710bfba65c074eaf2e
2025-03-12 17:07:29 +00:00
Marek Siarkowicz 36c1a58d7e Fix typo and pass the environment variable required to enable watchcache consistency checking in GCE tests
Kubernetes-commit: 8b0294daed236dcaf2b2f74ad4a38405118ebbaa
2025-03-13 11:55:23 +01:00
carlory 21560784da Add quota support for PVC with VolumeAttributesClass
Signed-off-by: carlory <baofa.fan@daocloud.io>

Kubernetes-commit: 27706a0b54cadf1ec2f1f0850ac8ab8f2f1d1c5b
2024-04-18 15:31:12 +08:00
novahe a2c8b5531e Fix test cases that may potentially cause a panic.
Kubernetes-commit: 9e53371ddaaeab4083fde45e43c803071238e686
2025-03-11 17:41:37 +08:00
Marek Siarkowicz 6ed423348f Simplify shouldDelegateList
When ResourceVersionMatch is set to NotOlderThan, there is no need to handle continue or resourceVersion="".
The validation in apimachinery will not pass and return:
* "resourceVersionMatch is forbidden when continue is provided"
* "resourceVersionMatch is forbidden unless resourceVersion is provided"

Kubernetes-commit: a0cc02e264ead76dfb0ae75a505e4d2e54219def
2025-03-12 18:20:47 +01:00
Joe Betz 408f50382f Apply feedback
Kubernetes-commit: 2d810ddfa9c8ee55ebdb001f78b832169204fc79
2025-03-10 18:56:54 -04:00
Joe Betz 92171c8c10 Add normalization support to CEL semver library, enable in base env
Kubernetes-commit: 41469004282b2ad9034993427ce4ec9d1c7f88bb
2025-03-07 11:10:43 -05:00
Joe Betz 782d90765e Add tolerant parse option to semver
Kubernetes-commit: c510b93d28faf8dbce5d761675de9b5d258ae485
2025-03-07 10:10:57 -05:00
Aaron Prindle b8750e7396 feat: add declarative validation metrics and associated runtime verification tests
Kubernetes-commit: de904f8099252fd740b4d93e5a661b20aad12ef1
2025-03-06 21:33:12 +00:00
Aaron Prindle 97b6cb1aeb chore: change error_matcher.go to use test interface instead of importing testing pkg
Kubernetes-commit: cd9df2f115a95835e07cddf740861dbd8f6f3988
2025-03-11 05:24:07 +00:00
Wei Fu 9ff9bbbc47 *: reduce tracing events during streaming JSON objects
If apiserver is handing heavy traffic volume, it's likely to trigger
tracing events. After streaming JSON objects, the number of tracing events
are same to object number. It's unneccessary to log each write call.
This patch is to reduce tracing events.

Signed-off-by: Wei Fu <fuweid89@gmail.com>

Kubernetes-commit: 003f2157671a694aefecd4dbb7df786e27200a18
2025-03-11 13:26:55 -04:00
Marek Siarkowicz 67ec836891 Implement streaming proto encoding
Kubernetes-commit: f5dd7107f7144c4f76ca6159c1eeddb48a12feaa
2024-12-19 12:30:39 +01:00
Marek Siarkowicz 23e9b2c9d4 Implement consistency checking
Kubernetes-commit: e4d73c56cd055a6e3a23068bd70c424579df40fe
2025-02-27 17:53:06 +01:00
Paco Xu d44a862c51 remove feature gate AdmissionWebhookMatchConditions that was GAed in v1.30
Kubernetes-commit: f16745437182ec50f51253cef39cd5c89041ee95
2025-03-03 10:54:46 +08:00
Paco Xu bd0e774416 remove AggregatedDiscoveryEndpoint that was GAed in v1.30
Kubernetes-commit: 8195f82fe82e7bcf36ba50ddc8b78c00fa8df2bc
2025-03-03 11:01:02 +08:00
Paco Xu 01307e4b8d remove feature gate RemainingItemCount that was GAed in v1.29
Kubernetes-commit: bb79c29dd51f46003e0d35cd3d3683a2338448b1
2025-03-03 10:45:39 +08:00
Marek Siarkowicz 73e72d16c5 Unify ListOptions validation between cache and etcd
Kubernetes-commit: ccb607f06b91496d02a3b94253261e03e3280630
2025-03-07 12:26:05 +01:00