-
Notifications
You must be signed in to change notification settings - Fork 38.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement checking etcd version to warn about deprecated etcd versions #123264
Conversation
Hi @ah8ad3. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go
Outdated
Show resolved
Hide resolved
/remove-wg structured-logging |
add feature flag, refactor check version to use parse semantic version extract subfunctions refacor code, disable feature after cheking the version refactor warning on etcd version add cancel function to context with timeout separate checkVersionEndpoint from checkVersion to make it more readable refactor error messages for etcd deprecated warning and some parts of code update comments of code update the comments and alter the ErrDeprecatedCluster change the ErrDeprecatedCluster, fix errors from vet checker add error check for OverrideDefault test added, use interface for etcd client to make it lessly couple to etcd update test expectedError text fix lint error fix an error on showing wrong error message is deprecated function added to storage interface with tests cleanup test print refactor lint hint feature: add Supports to storage.Interface, add FeatureSupportChecker struct fix: lint error refactor: create feature_support_checker file, alter Supports function to only recieve one feature refacor: add cache for supported feature check, change input value of Supports from featuregate to EtcdFeature refacor: create a new feature for RequestWatchProgress refactor: change EtcdFeature to Feature, delete some parts in isDeprecated, comment about mutex, construct map refactor: improving naming and comments of functions and variables refactor: improving naming and comments of functions and variables refactor: alter names of functions, simplify check version to only return err, use sync.Map instead of map and mutex, add retry when error came from Status, move RequestWatchProgress to interfaces refactor: move featuresupportchecker to directory to avoid cycle import error, add global SupportsCache to check the support with featureSupportCache, use Supports in NewCacherFromConfig, use SupportsCache in various parts to check if feature available refactor: make Supports check synchronous in cache.go, remove retries from failures in features fix: bugs in cache test fixed, some refacor and improvments in feature_support_checker.go refacor: minor change refacor: minor change refactor: change feature support checker to check support per endpoint fix: add error on Supports update-vendor Update staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher.go Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com> refactor: bad variable rename fix: fix grammar error, refactor errors refactor code fix test fix bug in watch_cache miss request watch progress support minor changes refactor: change EndpointSupports to ClientSupports, use mutex instead of sync.Map fix minor argument in SetFeatureSupportCheckerDuringTest refactor: fix minors refactor some comments remove some parts of testing feature fix: resolve conflicts
0a46490
to
a9bed84
Compare
@ah8ad3: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
We are revisiting this PR after the code thaw. As mentioned in kubernetes/enhancements#2340 (comment) merging of the PR is one of the next steps. Hey @ah8ad3 the PR has grown in size, could you split out the code that introduces |
Thanks @wojtek-t , @serathius, i'll try to separate it this week. |
@ah8ad3 - with the other PR already approved, can you please rebase this one on top of it so that we can proceed with making this one happen? |
@wojtek-t Yes. I'm on it. |
Closing in favor of #124612 |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Implement warning for certain version of Etcd on active feature flag.
Which issue(s) this PR fixes:
Fixes #123192
Special notes for your reviewer:
Warning should trigger on these versions:
<3.4.25
Between 3.5.0 and 3.5.7
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
Part of kubernetes/enhancements#2340