From e309bd3abf5d76866ea9dfc96433a0a9559c96c8 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Tue, 28 Aug 2018 09:30:47 -0400 Subject: [PATCH] Remove deprecated feature flags --- pkg/features/kube_features.go | 17 +---------------- pkg/kubelet/kubelet_pods.go | 2 +- pkg/registry/core/service/storage/BUILD | 2 -- pkg/registry/core/service/storage/rest.go | 10 +++------- 4 files changed, 5 insertions(+), 26 deletions(-) diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 3cc49dfeaee..cd713e9f739 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -173,13 +173,6 @@ const ( // Enable nodes to exclude themselves from service load balancers ServiceNodeExclusion utilfeature.Feature = "ServiceNodeExclusion" - // owner @brendandburns - // deprecated: v1.10 - // - // Enable the service proxy to contact external IP addresses. Note this feature is present - // only for backward compatibility, it will be removed in the 1.11 release. - ServiceProxyAllowExternalIPs utilfeature.Feature = "ServiceProxyAllowExternalIPs" - // owner: @jsafrane // alpha: v1.9 // @@ -241,13 +234,6 @@ const ( // Enable Hyper-V containers on Windows HyperVContainer utilfeature.Feature = "HyperVContainer" - // owner: @joelsmith - // deprecated: v1.10 - // - // Mount secret, configMap, downwardAPI and projected volumes ReadOnly. Note: this feature - // gate is present only for backward compatibility, it will be removed in the 1.11 release. - ReadOnlyAPIDataVolumes utilfeature.Feature = "ReadOnlyAPIDataVolumes" - // owner: @k82cn // alpha: v1.10 // @@ -433,6 +419,5 @@ var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureS apiextensionsfeatures.CustomResourceSubresources: {Default: true, PreRelease: utilfeature.Beta}, // features that enable backwards compatibility but are scheduled to be removed - ServiceProxyAllowExternalIPs: {Default: false, PreRelease: utilfeature.Deprecated}, - ReadOnlyAPIDataVolumes: {Default: true, PreRelease: utilfeature.Deprecated}, + // ... } diff --git a/pkg/kubelet/kubelet_pods.go b/pkg/kubelet/kubelet_pods.go index 1fed05dfb52..a1ed7888d04 100644 --- a/pkg/kubelet/kubelet_pods.go +++ b/pkg/kubelet/kubelet_pods.go @@ -232,7 +232,7 @@ func makeMounts(pod *v1.Pod, podDir string, container *v1.Container, hostName, h } glog.V(5).Infof("Pod %q container %q mount %q has propagation %q", format.Pod(pod), container.Name, mount.Name, propagation) - mustMountRO := vol.Mounter.GetAttributes().ReadOnly && utilfeature.DefaultFeatureGate.Enabled(features.ReadOnlyAPIDataVolumes) + mustMountRO := vol.Mounter.GetAttributes().ReadOnly mounts = append(mounts, kubecontainer.Mount{ Name: mount.Name, diff --git a/pkg/registry/core/service/storage/BUILD b/pkg/registry/core/service/storage/BUILD index e3c3d527450..779dd91710e 100644 --- a/pkg/registry/core/service/storage/BUILD +++ b/pkg/registry/core/service/storage/BUILD @@ -55,7 +55,6 @@ go_library( "//pkg/apis/core:go_default_library", "//pkg/apis/core/helper:go_default_library", "//pkg/apis/core/validation:go_default_library", - "//pkg/features:go_default_library", "//pkg/printers:go_default_library", "//pkg/printers/internalversion:go_default_library", "//pkg/printers/storage:go_default_library", @@ -76,7 +75,6 @@ go_library( "//staging/src/k8s.io/apiserver/pkg/registry/generic/registry:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/util/dryrun:go_default_library", - "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//vendor/github.com/golang/glog:go_default_library", ], ) diff --git a/pkg/registry/core/service/storage/rest.go b/pkg/registry/core/service/storage/rest.go index 3a11a3d5f78..15862cdb99f 100644 --- a/pkg/registry/core/service/storage/rest.go +++ b/pkg/registry/core/service/storage/rest.go @@ -38,13 +38,11 @@ import ( genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/registry/rest" "k8s.io/apiserver/pkg/util/dryrun" - utilfeature "k8s.io/apiserver/pkg/util/feature" apiservice "k8s.io/kubernetes/pkg/api/service" api "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/apis/core/helper" "k8s.io/kubernetes/pkg/apis/core/validation" - "k8s.io/kubernetes/pkg/features" registry "k8s.io/kubernetes/pkg/registry/core/service" "k8s.io/kubernetes/pkg/registry/core/service/ipallocator" "k8s.io/kubernetes/pkg/registry/core/service/portallocator" @@ -483,11 +481,9 @@ func (rs *REST) ResourceLocation(ctx context.Context, id string) (*url.URL, http // but in the expected case we'll only make one. for try := 0; try < len(ss.Addresses); try++ { addr := ss.Addresses[(addrSeed+try)%len(ss.Addresses)] - if !utilfeature.DefaultFeatureGate.Enabled(features.ServiceProxyAllowExternalIPs) { - if err := isValidAddress(ctx, &addr, rs.pods); err != nil { - utilruntime.HandleError(fmt.Errorf("Address %v isn't valid (%v)", addr, err)) - continue - } + if err := isValidAddress(ctx, &addr, rs.pods); err != nil { + utilruntime.HandleError(fmt.Errorf("Address %v isn't valid (%v)", addr, err)) + continue } ip := addr.IP port := int(ss.Ports[i].Port)