From c5d8f6ed8f4cbc04718ab8783250157da5aa2bac Mon Sep 17 00:00:00 2001 From: Shreyas Rao <42259948+shreyas-s-rao@users.noreply.github.com> Date: Thu, 27 Feb 2025 09:42:38 +0530 Subject: [PATCH] Remove UseEtcdWrapper feature gate (#999) --- docs/concepts/etcd-cluster-components.md | 8 +++--- docs/deployment/feature-gates.md | 11 ++++---- .../version-compatibility-matrix.md | 12 ++++----- internal/component/statefulset/builder.go | 1 - internal/features/features.go | 27 +++++-------------- 5 files changed, 23 insertions(+), 36 deletions(-) diff --git a/docs/concepts/etcd-cluster-components.md b/docs/concepts/etcd-cluster-components.md index 9c130e426..c632b0dbd 100644 --- a/docs/concepts/etcd-cluster-components.md +++ b/docs/concepts/etcd-cluster-components.md @@ -8,21 +8,21 @@ For every `Etcd` cluster that is provisioned by `etcd-druid` it deploys a set of * Replicas for the StatefulSet are derived from `Etcd.Spec.Replicas` in the custom resource. -* Each pod comprises of two containers: +* Each pod comprises two containers: * `etcd-wrapper` : This is the main container which runs an etcd process. * `etcd-backup-restore` : This is a side-container which does the following: * Orchestrates the initialization of etcd. This includes validation of any existing etcd data directory, restoration in case of corrupt etcd data directory files for a single-member etcd cluster. - * Periodically renewes member lease. - * Optionally takes schedule and thresold based delta and full snapshots and pushes them to a configured object store. + * Periodically renews member lease. + * Optionally takes schedule and threshold based delta and full snapshots and pushes them to a configured object store. * Orchestrates scheduled etcd-db defragmentation. > NOTE: This is not a complete list of functionalities offered out of `etcd-backup-restore`. **Code reference:** [StatefulSet-Component](https://github.com/gardener/etcd-druid/tree/480213808813c5282b19aff5f3fd6868529e779c/internal/component/statefulset) -> For detailed information on each container you can visit [etcd-wrapper](https://github.com/gardener/etcd-wrapper) and [etcd-backup-restore](https://github.com/gardener/etcd-backup-restore) respositories. +> For detailed information on each container you can visit [etcd-wrapper](https://github.com/gardener/etcd-wrapper) and [etcd-backup-restore](https://github.com/gardener/etcd-backup-restore) repositories. ## ConfigMap diff --git a/docs/deployment/feature-gates.md b/docs/deployment/feature-gates.md index 18cf35ef3..a7914bae9 100644 --- a/docs/deployment/feature-gates.md +++ b/docs/deployment/feature-gates.md @@ -25,11 +25,12 @@ The following tables are a summary of the feature gates that you can set on etcd ## Feature Gates for Graduated or Deprecated Features -| Feature | Default | Stage | Since | Until | -|------------------|---------|---------|--------|--------| -| `UseEtcdWrapper` | `false` | `Alpha` | `0.19` | `0.21` | -| `UseEtcdWrapper` | `true` | `Beta` | `0.22` | `0.24` | -| `UseEtcdWrapper` | `true` | `GA` | `0.25` | | +| Feature | Default | Stage | Since | Until | +|------------------|---------|-----------|--------|--------| +| `UseEtcdWrapper` | `false` | `Alpha` | `0.19` | `0.21` | +| `UseEtcdWrapper` | `true` | `Beta` | `0.22` | `0.24` | +| `UseEtcdWrapper` | `true` | `GA` | `0.25` | `0.27` | +| `UseEtcdWrapper` | | `Removed` | `0.28` | | ## Using a Feature diff --git a/docs/deployment/version-compatibility-matrix.md b/docs/deployment/version-compatibility-matrix.md index 1d4e8c82a..1bfe4dbb6 100644 --- a/docs/deployment/version-compatibility-matrix.md +++ b/docs/deployment/version-compatibility-matrix.md @@ -7,15 +7,15 @@ We strongly recommend using `etcd-druid` with the supported kubernetes versions, published in this document. The following is a list of kubernetes versions supported by the respective `etcd-druid` versions. -| etcd-druid version | Kubernetes version | -|------|------| -| >=v0.20 | >=v1.21 | -| >=v0.14 && <0.20 | All versions supported | -| =v0.20 | >=v1.21 | +| >=v0.14 && <0.20 | All versions supported | +| =v0.23.1 | >=v0.30.2 | >=v0.2.0 | diff --git a/internal/component/statefulset/builder.go b/internal/component/statefulset/builder.go index af459d631..373792025 100644 --- a/internal/component/statefulset/builder.go +++ b/internal/component/statefulset/builder.go @@ -468,7 +468,6 @@ func (b *stsBuilder) getBackupRestoreContainerCommandArgs() []string { commandArgs = append(commandArgs, fmt.Sprintf("--snapstore-temp-directory=%s/temp", common.VolumeMountPathEtcdData)) commandArgs = append(commandArgs, fmt.Sprintf("--etcd-connection-timeout=%s", defaultEtcdConnectionTimeout)) commandArgs = append(commandArgs, "--enable-member-lease-renewal=true") - // Enable/Disable use Etcd Wrapper in BackupRestore container. Once `use-etcd-wrapper` feature-gate is GA then this value will always be true. commandArgs = append(commandArgs, "--use-etcd-wrapper=true") var quota = defaultQuota diff --git a/internal/features/features.go b/internal/features/features.go index 40297ac14..08d392de2 100644 --- a/internal/features/features.go +++ b/internal/features/features.go @@ -9,28 +9,15 @@ import ( ) const ( - // Every feature should add method here following this template: - // - // // MyFeature enables Foo. - // // owner: @username - // // alpha: v0.X - // MyFeature featuregate.Feature = "MyFeature" - - // UseEtcdWrapper enables the use of etcd-wrapper image and a compatible version - // of etcd-backup-restore, along with component-specific configuration - // changes required for the usage of the etcd-wrapper image. - // owner @unmarshall @aaronfern - // alpha: v0.19 - // beta: v0.22 - // GA: v0.25 - UseEtcdWrapper featuregate.Feature = "UseEtcdWrapper" +// Every feature should add method here following this template: +// +// // MyFeature enables Foo. +// // owner: @username +// // alpha: v0.X +// MyFeature featuregate.Feature = "MyFeature" ) -var defaultFeatures = map[featuregate.Feature]featuregate.FeatureSpec{ - UseEtcdWrapper: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, -} - // GetDefaultFeatures returns the default feature gates known to etcd-druid. func GetDefaultFeatures() map[featuregate.Feature]featuregate.FeatureSpec { - return defaultFeatures + return nil }