Remove GA ServiceNodePortStaticSubrange feature gate
This commit is contained in:
		@@ -739,15 +739,6 @@ const (
 | 
			
		||||
	// service account tokens bound to Pod objects.
 | 
			
		||||
	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
 | 
			
		||||
	// kep: https://kep.k8s.io/4444
 | 
			
		||||
	// alpha: v1.30
 | 
			
		||||
@@ -1170,8 +1161,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
 | 
			
		||||
 | 
			
		||||
	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},
 | 
			
		||||
 | 
			
		||||
	SidecarContainers: {Default: true, PreRelease: featuregate.Beta},
 | 
			
		||||
 
 | 
			
		||||
@@ -21,10 +21,8 @@ import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
 | 
			
		||||
	"k8s.io/apimachinery/pkg/util/net"
 | 
			
		||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
			
		||||
	"k8s.io/klog/v2"
 | 
			
		||||
	api "k8s.io/kubernetes/pkg/apis/core"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/features"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/registry/core/service/allocator"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -76,13 +74,8 @@ func New(pr net.PortRange, allocatorFactory allocator.AllocatorWithOffsetFactory
 | 
			
		||||
		metrics:   &emptyMetricsRecorder{},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var offset = 0
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.ServiceNodePortStaticSubrange) {
 | 
			
		||||
		offset = calculateRangeOffset(pr)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var err error
 | 
			
		||||
	a.alloc, err = allocatorFactory(max, rangeSpec, offset)
 | 
			
		||||
	a.alloc, err = allocatorFactory(max, rangeSpec, calculateRangeOffset(pr))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -22,11 +22,8 @@ import (
 | 
			
		||||
 | 
			
		||||
	"k8s.io/apimachinery/pkg/util/net"
 | 
			
		||||
	"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"
 | 
			
		||||
	api "k8s.io/kubernetes/pkg/apis/core"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/features"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestAllocate(t *testing.T) {
 | 
			
		||||
@@ -122,8 +119,6 @@ func TestAllocate(t *testing.T) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestAllocateReserved(t *testing.T) {
 | 
			
		||||
	featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.ServiceNodePortStaticSubrange, true)
 | 
			
		||||
 | 
			
		||||
	pr, err := net.ParsePortRange("30000-30128")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
 
 | 
			
		||||
@@ -27,11 +27,8 @@ import (
 | 
			
		||||
	"k8s.io/apiserver/pkg/storage"
 | 
			
		||||
	etcd3testing "k8s.io/apiserver/pkg/storage/etcd3/testing"
 | 
			
		||||
	"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"
 | 
			
		||||
	_ "k8s.io/kubernetes/pkg/apis/core/install"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/features"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/registry/core/service/allocator"
 | 
			
		||||
	allocatorstore "k8s.io/kubernetes/pkg/registry/core/service/allocator/storage"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/registry/core/service/portallocator"
 | 
			
		||||
@@ -188,8 +185,6 @@ func TestReallocate(t *testing.T) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestAllocateReserved(t *testing.T) {
 | 
			
		||||
	featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.ServiceNodePortStaticSubrange, true)
 | 
			
		||||
 | 
			
		||||
	_, storage, _, si, destroyFunc := newStorage(t)
 | 
			
		||||
	defer destroyFunc()
 | 
			
		||||
	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) {
 | 
			
		||||
	featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.ServiceNodePortStaticSubrange, true)
 | 
			
		||||
 | 
			
		||||
	_, storage, _, si, destroyFunc := newStorage(t)
 | 
			
		||||
	defer destroyFunc()
 | 
			
		||||
	if err := si.Create(context.TODO(), key(), validNewRangeAllocation(), nil, 0); err != nil {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user