From 8d03ace92b4080cac120832ef1315c56104357c5 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Tue, 7 Jul 2020 12:34:18 -0400 Subject: [PATCH] Move proxy features to kube_features --- pkg/features/kube_features.go | 14 ++++++++++++++ pkg/proxy/winkernel/BUILD | 1 - pkg/proxy/winkernel/proxier.go | 6 +++--- .../k8s.io/apiserver/pkg/features/kube_features.go | 14 -------------- 4 files changed, 17 insertions(+), 18 deletions(-) diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index a8482c78d4a..1fcf926e354 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -602,6 +602,18 @@ const ( // Allow setting the Fully Qualified Domain Name (FQDN) in the hostname of a Pod. If a Pod does not // have FQDN, this feature has no effect. SetHostnameAsFQDN featuregate.Feature = "SetHostnameAsFQDN" + + // owner: @ksubrmnn + // alpha: v1.14 + // + // Allows kube-proxy to run in Overlay mode for Windows + WinOverlay featuregate.Feature = "WinOverlay" + + // owner: @ksubrmnn + // alpha: v1.14 + // + // Allows kube-proxy to create DSR loadbalancers for Windows + WinDSR featuregate.Feature = "WinDSR" ) func init() { @@ -694,6 +706,8 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS AnyVolumeDataSource: {Default: false, PreRelease: featuregate.Alpha}, DefaultPodTopologySpread: {Default: false, PreRelease: featuregate.Alpha}, SetHostnameAsFQDN: {Default: false, PreRelease: featuregate.Alpha}, + WinOverlay: {Default: false, PreRelease: featuregate.Alpha}, + WinDSR: {Default: false, PreRelease: featuregate.Alpha}, // inherited features from generic apiserver, relisted here to get a conflict if it is changed // unintentionally on either side: diff --git a/pkg/proxy/winkernel/BUILD b/pkg/proxy/winkernel/BUILD index bd62aef52bd..5817e7ad0bf 100644 --- a/pkg/proxy/winkernel/BUILD +++ b/pkg/proxy/winkernel/BUILD @@ -30,7 +30,6 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/intstr:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library", - "//staging/src/k8s.io/apiserver/pkg/features:go_default_library", "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//vendor/github.com/Microsoft/hcsshim:go_default_library", diff --git a/pkg/proxy/winkernel/proxier.go b/pkg/proxy/winkernel/proxier.go index 04925251f1d..aafc7cd5b08 100644 --- a/pkg/proxy/winkernel/proxier.go +++ b/pkg/proxy/winkernel/proxier.go @@ -37,12 +37,12 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/wait" - genericfeatures "k8s.io/apiserver/pkg/features" utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/client-go/tools/record" "k8s.io/klog/v2" "k8s.io/kubernetes/pkg/apis/core/v1/helper" "k8s.io/kubernetes/pkg/features" + kubefeatures "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/proxy" "k8s.io/kubernetes/pkg/proxy/apis/config" proxyconfig "k8s.io/kubernetes/pkg/proxy/config" @@ -539,7 +539,7 @@ func NewProxier( klog.V(1).Infof("Hns Network loaded with info = %v", hnsNetworkInfo) isDSR := config.EnableDSR - if isDSR && !utilfeature.DefaultFeatureGate.Enabled(genericfeatures.WinDSR) { + if isDSR && !utilfeature.DefaultFeatureGate.Enabled(kubefeatures.WinDSR) { return nil, fmt.Errorf("WinDSR feature gate not enabled") } err = hcn.DSRSupported() @@ -550,7 +550,7 @@ func NewProxier( var sourceVip string var hostMac string if hnsNetworkInfo.networkType == "Overlay" { - if !utilfeature.DefaultFeatureGate.Enabled(genericfeatures.WinOverlay) { + if !utilfeature.DefaultFeatureGate.Enabled(kubefeatures.WinOverlay) { return nil, fmt.Errorf("WinOverlay feature gate not enabled") } err = hcn.RemoteSubnetSupported() diff --git a/staging/src/k8s.io/apiserver/pkg/features/kube_features.go b/staging/src/k8s.io/apiserver/pkg/features/kube_features.go index 3fe1ebec0f7..a407c3492d9 100644 --- a/staging/src/k8s.io/apiserver/pkg/features/kube_features.go +++ b/staging/src/k8s.io/apiserver/pkg/features/kube_features.go @@ -105,18 +105,6 @@ const ( // document. StorageVersionHash featuregate.Feature = "StorageVersionHash" - // owner: @ksubrmnn - // alpha: v1.14 - // - // Allows kube-proxy to run in Overlay mode for Windows - WinOverlay featuregate.Feature = "WinOverlay" - - // owner: @ksubrmnn - // alpha: v1.14 - // - // Allows kube-proxy to create DSR loadbalancers for Windows - WinDSR featuregate.Feature = "WinDSR" - // owner: @wojtek-t // alpha: v1.15 // beta: v1.16 @@ -169,8 +157,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS RemainingItemCount: {Default: true, PreRelease: featuregate.Beta}, ServerSideApply: {Default: true, PreRelease: featuregate.Beta}, StorageVersionHash: {Default: true, PreRelease: featuregate.Beta}, - WinOverlay: {Default: false, PreRelease: featuregate.Alpha}, - WinDSR: {Default: false, PreRelease: featuregate.Alpha}, WatchBookmark: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, APIPriorityAndFairness: {Default: false, PreRelease: featuregate.Alpha}, RemoveSelfLink: {Default: false, PreRelease: featuregate.Alpha},