From e7f319870ab15cd2b491b39a77af2aca0c2810d4 Mon Sep 17 00:00:00 2001 From: wawa0210 Date: Tue, 13 Oct 2020 08:56:33 +0800 Subject: [PATCH] Warn that hyper-v featuregate will be deprecated in 1.20 and will be removed in 1.21 --- pkg/features/kube_features.go | 3 ++- pkg/kubelet/apis/BUILD | 1 + pkg/kubelet/apis/well_known_annotations_windows.go | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 5a79a7fa99f..81de1a8f6f9 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -206,6 +206,7 @@ const ( // alpha: v1.10 // // Enable Hyper-V containers on Windows + // Deprecated in 1.20 and removed in 1.21 HyperVContainer featuregate.Feature = "HyperVContainer" // owner: @mikedanese @@ -677,7 +678,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS StorageObjectInUseProtection: {Default: true, PreRelease: featuregate.GA}, SupportPodPidsLimit: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.21 SupportNodePidsLimit: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.21 - HyperVContainer: {Default: false, PreRelease: featuregate.Alpha}, + HyperVContainer: {Default: false, PreRelease: featuregate.Deprecated}, TokenRequest: {Default: true, PreRelease: featuregate.Beta}, TokenRequestProjection: {Default: true, PreRelease: featuregate.Beta}, BoundServiceAccountTokenVolume: {Default: false, PreRelease: featuregate.Alpha}, diff --git a/pkg/kubelet/apis/BUILD b/pkg/kubelet/apis/BUILD index 81930bf60c3..823940a76a3 100644 --- a/pkg/kubelet/apis/BUILD +++ b/pkg/kubelet/apis/BUILD @@ -19,6 +19,7 @@ go_library( "@io_bazel_rules_go//go/platform:windows": [ "//pkg/features:go_default_library", "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", + "//vendor/k8s.io/klog/v2:go_default_library", ], "//conditions:default": [], }), diff --git a/pkg/kubelet/apis/well_known_annotations_windows.go b/pkg/kubelet/apis/well_known_annotations_windows.go index 65f38f9f144..6d577d5f129 100644 --- a/pkg/kubelet/apis/well_known_annotations_windows.go +++ b/pkg/kubelet/apis/well_known_annotations_windows.go @@ -20,6 +20,7 @@ package apis import ( utilfeature "k8s.io/apiserver/pkg/util/feature" + "k8s.io/klog/v2" "k8s.io/kubernetes/pkg/features" ) @@ -34,6 +35,8 @@ const ( // ShouldIsolatedByHyperV returns true if a windows container should be run with hyperv isolation. func ShouldIsolatedByHyperV(annotations map[string]string) bool { + klog.Warningf("The hyper-v FeatureGate is deprecated in 1.20 and will be removed in 1.21") + if !utilfeature.DefaultFeatureGate.Enabled(features.HyperVContainer) { return false }