Skip to content
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

Drop graduated MachineControllerManagerDeployment feature gate #9450

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/deployment/feature_gates.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@ The following tables are a summary of the feature gates that you can set on diff
| CoreDNSQueryRewriting | `false` | `Alpha` | `1.55` | |
| IPv6SingleStack | `false` | `Alpha` | `1.63` | |
| MutableShootSpecNetworkingNodes | `false` | `Alpha` | `1.64` | |
| MachineControllerManagerDeployment | `false` | `Alpha` | `1.73` | |
| MachineControllerManagerDeployment | `true` | `Beta` | `1.81` | `1.81` |
| MachineControllerManagerDeployment | `true` | `GA` | `1.82` | |
| ShootForceDeletion | `false` | `Alpha` | `1.81` | `1.90` |
| ShootForceDeletion | `true` | `Beta` | `1.91` | |
| APIServerFastRollout | `true` | `Beta` | `1.82` | `1.89` |
Expand Down Expand Up @@ -147,6 +144,10 @@ The following tables are a summary of the feature gates that you can set on diff
| WorkerlessShoots | `true` | `Beta` | `1.79` | `1.85` |
| WorkerlessShoots | `true` | `GA` | `1.86` | |
| WorkerlessShoots | `true` | `Removed` | `1.88` | |
| MachineControllerManagerDeployment | `false` | `Alpha` | `1.73` | |
| MachineControllerManagerDeployment | `true` | `Beta` | `1.81` | `1.81` |
| MachineControllerManagerDeployment | `true` | `GA` | `1.82` | `1.91` |
| MachineControllerManagerDeployment | `true` | `Removed` | `1.92` | |

## Using a Feature

Expand Down Expand Up @@ -192,7 +193,6 @@ A *General Availability* (GA) feature is also referred to as a *stable* feature.
| CoreDNSQueryRewriting | `gardenlet` | Enables automatic DNS query rewriting in shoot cluster's CoreDNS to shortcut name resolution of fully qualified in-cluster and out-of-cluster names, which follow a user-defined pattern. Details can be found in [DNS Search Path Optimization](../usage/dns-search-path-optimization.md). |
| IPv6SingleStack | `gardener-apiserver`, `gardenlet` | Allows creating seed and shoot clusters with [IPv6 single-stack networking](../usage/ipv6.md) enabled in their spec ([GEP-21](../proposals/21-ipv6-singlestack-local.md)). If enabled in gardenlet, the default behavior is unchanged, but setting `ipFamilies=[IPv6]` in the `seedConfig` is allowed. Only if the `ipFamilies` setting is changed, gardenlet behaves differently. |
| MutableShootSpecNetworkingNodes | `gardener-apiserver` | Allows updating the field `spec.networking.nodes`. The validity of the values has to be checked in the provider extensions. Only enable this feature gate when your system runs provider extensions which have implemented the validation. |
| MachineControllerManagerDeployment | `gardenlet` | Enables Gardener to take over the deployment of the machine-controller-manager. If enabled, all registered provider extensions must support injecting the provider-specific MCM sidecar container into the deployment via the `controlplane` webhook. |
| ShootForceDeletion | `gardener-apiserver` | Allows forceful deletion of Shoots by annotating them with the `confirmation.gardener.cloud/force-deletion` annotation. |
| APIServerFastRollout | `gardenlet` | Enables fast rollouts for Shoot kube-apiservers on the given Seed. When enabled, `maxSurge` for Shoot kube-apiserver deployments is set to 100%. |
| UseGardenerNodeAgent | `gardenlet` | Enables the `gardener-node-agent` instead of the `cloud-config-downloader` for shoot worker nodes. |
30 changes: 9 additions & 21 deletions pkg/features/features.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,17 +65,6 @@ const (
// beta: v1.91.0
ShootForceDeletion featuregate.Feature = "ShootForceDeletion"

// MachineControllerManagerDeployment enables Gardener to take over the deployment of the
// machine-controller-manager. If enabled, all registered provider extensions must support injecting the
// provider-specific MCM provider sidecar container into the deployment via the `controlplane` webhook.
// owner: @rfranzke @JensAc @mreiger
// alpha: v1.73.0
// beta: v1.81.0
// GA: v1.82.0
// TODO(scheererj): Do not remove this feature gate before v1.90 to give extensions enough time to adopt v1.83.
// Otherwise, extensions might end up believing they need to manage MCM again when the feature gate is removed.
MachineControllerManagerDeployment featuregate.Feature = "MachineControllerManagerDeployment"

// APIServerFastRollout enables fast rollouts for Shoot kube-apiservers on the given Seed.
// When enabled, maxSurge for Shoot kube-apiserver deployments is set to 100%.
// owner: @oliver-goetz
Expand Down Expand Up @@ -117,16 +106,15 @@ var DefaultFeatureGate = utilfeature.DefaultMutableFeatureGate

// AllFeatureGates is the list of all feature gates.
var AllFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{
HVPA: {Default: false, PreRelease: featuregate.Alpha},
HVPAForShootedSeed: {Default: false, PreRelease: featuregate.Alpha},
DefaultSeccompProfile: {Default: false, PreRelease: featuregate.Alpha},
CoreDNSQueryRewriting: {Default: false, PreRelease: featuregate.Alpha},
IPv6SingleStack: {Default: false, PreRelease: featuregate.Alpha},
MutableShootSpecNetworkingNodes: {Default: false, PreRelease: featuregate.Alpha},
ShootForceDeletion: {Default: true, PreRelease: featuregate.Beta},
MachineControllerManagerDeployment: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
APIServerFastRollout: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
UseGardenerNodeAgent: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
HVPA: {Default: false, PreRelease: featuregate.Alpha},
HVPAForShootedSeed: {Default: false, PreRelease: featuregate.Alpha},
DefaultSeccompProfile: {Default: false, PreRelease: featuregate.Alpha},
CoreDNSQueryRewriting: {Default: false, PreRelease: featuregate.Alpha},
IPv6SingleStack: {Default: false, PreRelease: featuregate.Alpha},
MutableShootSpecNetworkingNodes: {Default: false, PreRelease: featuregate.Alpha},
ShootForceDeletion: {Default: true, PreRelease: featuregate.Beta},
APIServerFastRollout: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
UseGardenerNodeAgent: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
}

// GetFeatures returns a feature gate map with the respective specifications. Non-existing feature gates are ignored.
Expand Down
1 change: 0 additions & 1 deletion pkg/gardenlet/features/features.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ func GetFeatures() []featuregate.Feature {
features.DefaultSeccompProfile,
features.CoreDNSQueryRewriting,
features.IPv6SingleStack,
features.MachineControllerManagerDeployment,
features.APIServerFastRollout,
features.UseGardenerNodeAgent,
}
Expand Down