Merge pull request #124738 from xuzhenglun/master

Remove GA ServiceNodePortStaticSubrange feature gate
This commit is contained in:
Kubernetes Prow Robot 2024-05-08 12:23:29 -07:00 committed by GitHub
commit 132c49c40b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 1 additions and 31 deletions

View File

@ -740,15 +740,6 @@ const (
// service account tokens bound to Pod objects. // service account tokens bound to Pod objects.
ServiceAccountTokenPodNodeInfo featuregate.Feature = "ServiceAccountTokenPodNodeInfo" ServiceAccountTokenPodNodeInfo featuregate.Feature = "ServiceAccountTokenPodNodeInfo"
// owner: @xuzhenglun
// kep: http://kep.k8s.io/3682
// alpha: v1.27
// beta: v1.28
// stable: v1.29
//
// Subdivide the NodePort range for dynamic and static port allocation.
ServiceNodePortStaticSubrange featuregate.Feature = "ServiceNodePortStaticSubrange"
// owner: @gauravkghildiyal @robscott // owner: @gauravkghildiyal @robscott
// kep: https://kep.k8s.io/4444 // kep: https://kep.k8s.io/4444
// alpha: v1.30 // alpha: v1.30
@ -1171,8 +1162,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
ServiceAccountTokenNodeBindingValidation: {Default: true, PreRelease: featuregate.Beta}, ServiceAccountTokenNodeBindingValidation: {Default: true, PreRelease: featuregate.Beta},
ServiceNodePortStaticSubrange: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.29; remove in 1.31
ServiceTrafficDistribution: {Default: false, PreRelease: featuregate.Alpha}, ServiceTrafficDistribution: {Default: false, PreRelease: featuregate.Alpha},
SidecarContainers: {Default: true, PreRelease: featuregate.Beta}, SidecarContainers: {Default: true, PreRelease: featuregate.Beta},

View File

@ -21,10 +21,8 @@ import (
"fmt" "fmt"
"k8s.io/apimachinery/pkg/util/net" "k8s.io/apimachinery/pkg/util/net"
utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/klog/v2" "k8s.io/klog/v2"
api "k8s.io/kubernetes/pkg/apis/core" api "k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/registry/core/service/allocator" "k8s.io/kubernetes/pkg/registry/core/service/allocator"
) )
@ -76,13 +74,8 @@ func New(pr net.PortRange, allocatorFactory allocator.AllocatorWithOffsetFactory
metrics: &emptyMetricsRecorder{}, metrics: &emptyMetricsRecorder{},
} }
var offset = 0
if utilfeature.DefaultFeatureGate.Enabled(features.ServiceNodePortStaticSubrange) {
offset = calculateRangeOffset(pr)
}
var err error var err error
a.alloc, err = allocatorFactory(max, rangeSpec, offset) a.alloc, err = allocatorFactory(max, rangeSpec, calculateRangeOffset(pr))
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -22,11 +22,8 @@ import (
"k8s.io/apimachinery/pkg/util/net" "k8s.io/apimachinery/pkg/util/net"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
utilfeature "k8s.io/apiserver/pkg/util/feature"
featuregatetesting "k8s.io/component-base/featuregate/testing"
"k8s.io/component-base/metrics/testutil" "k8s.io/component-base/metrics/testutil"
api "k8s.io/kubernetes/pkg/apis/core" api "k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/features"
) )
func TestAllocate(t *testing.T) { func TestAllocate(t *testing.T) {
@ -122,8 +119,6 @@ func TestAllocate(t *testing.T) {
} }
func TestAllocateReserved(t *testing.T) { func TestAllocateReserved(t *testing.T) {
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.ServiceNodePortStaticSubrange, true)
pr, err := net.ParsePortRange("30000-30128") pr, err := net.ParsePortRange("30000-30128")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)

View File

@ -27,11 +27,8 @@ import (
"k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage"
etcd3testing "k8s.io/apiserver/pkg/storage/etcd3/testing" etcd3testing "k8s.io/apiserver/pkg/storage/etcd3/testing"
"k8s.io/apiserver/pkg/storage/storagebackend/factory" "k8s.io/apiserver/pkg/storage/storagebackend/factory"
utilfeature "k8s.io/apiserver/pkg/util/feature"
featuregatetesting "k8s.io/component-base/featuregate/testing"
api "k8s.io/kubernetes/pkg/apis/core" api "k8s.io/kubernetes/pkg/apis/core"
_ "k8s.io/kubernetes/pkg/apis/core/install" _ "k8s.io/kubernetes/pkg/apis/core/install"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/registry/core/service/allocator" "k8s.io/kubernetes/pkg/registry/core/service/allocator"
allocatorstore "k8s.io/kubernetes/pkg/registry/core/service/allocator/storage" allocatorstore "k8s.io/kubernetes/pkg/registry/core/service/allocator/storage"
"k8s.io/kubernetes/pkg/registry/core/service/portallocator" "k8s.io/kubernetes/pkg/registry/core/service/portallocator"
@ -188,8 +185,6 @@ func TestReallocate(t *testing.T) {
} }
func TestAllocateReserved(t *testing.T) { func TestAllocateReserved(t *testing.T) {
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.ServiceNodePortStaticSubrange, true)
_, storage, _, si, destroyFunc := newStorage(t) _, storage, _, si, destroyFunc := newStorage(t)
defer destroyFunc() defer destroyFunc()
if err := si.Create(context.TODO(), key(), validNewRangeAllocation(), nil, 0); err != nil { if err := si.Create(context.TODO(), key(), validNewRangeAllocation(), nil, 0); err != nil {
@ -235,8 +230,6 @@ func TestAllocateReserved(t *testing.T) {
} }
func TestAllocateReservedDynamicBlockExhausted(t *testing.T) { func TestAllocateReservedDynamicBlockExhausted(t *testing.T) {
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.ServiceNodePortStaticSubrange, true)
_, storage, _, si, destroyFunc := newStorage(t) _, storage, _, si, destroyFunc := newStorage(t)
defer destroyFunc() defer destroyFunc()
if err := si.Create(context.TODO(), key(), validNewRangeAllocation(), nil, 0); err != nil { if err := si.Create(context.TODO(), key(), validNewRangeAllocation(), nil, 0); err != nil {