mirror of https://github.com/k3s-io/k3s
Remove SCTPSupport
parent
1714c8629a
commit
66ba0b006e
|
@ -18,16 +18,14 @@ package validation
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
|
||||||
api "k8s.io/kubernetes/pkg/apis/core"
|
api "k8s.io/kubernetes/pkg/apis/core"
|
||||||
"k8s.io/kubernetes/pkg/features"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// ValidateConditionalService validates conditionally valid fields.
|
// ValidateConditionalService validates conditionally valid fields.
|
||||||
func ValidateConditionalService(service, oldService *api.Service) field.ErrorList {
|
func ValidateConditionalService(service, oldService *api.Service) field.ErrorList {
|
||||||
var errs field.ErrorList
|
var errs field.ErrorList
|
||||||
// If the SCTPSupport feature is disabled, and the old object isn't using the SCTP feature, prevent the new object from using it
|
// If the SCTPSupport feature is disabled, and the old object isn't using the SCTP feature, prevent the new object from using it
|
||||||
if !utilfeature.DefaultFeatureGate.Enabled(features.SCTPSupport) && len(serviceSCTPFields(oldService)) == 0 {
|
if len(serviceSCTPFields(oldService)) == 0 {
|
||||||
for _, f := range serviceSCTPFields(service) {
|
for _, f := range serviceSCTPFields(service) {
|
||||||
errs = append(errs, field.NotSupported(f, api.ProtocolSCTP, []string{string(api.ProtocolTCP), string(api.ProtocolUDP)}))
|
errs = append(errs, field.NotSupported(f, api.ProtocolSCTP, []string{string(api.ProtocolTCP), string(api.ProtocolUDP)}))
|
||||||
}
|
}
|
||||||
|
@ -52,7 +50,7 @@ func serviceSCTPFields(service *api.Service) []*field.Path {
|
||||||
func ValidateConditionalEndpoints(endpoints, oldEndpoints *api.Endpoints) field.ErrorList {
|
func ValidateConditionalEndpoints(endpoints, oldEndpoints *api.Endpoints) field.ErrorList {
|
||||||
var errs field.ErrorList
|
var errs field.ErrorList
|
||||||
// If the SCTPSupport feature is disabled, and the old object isn't using the SCTP feature, prevent the new object from using it
|
// If the SCTPSupport feature is disabled, and the old object isn't using the SCTP feature, prevent the new object from using it
|
||||||
if !utilfeature.DefaultFeatureGate.Enabled(features.SCTPSupport) && len(endpointsSCTPFields(oldEndpoints)) == 0 {
|
if len(endpointsSCTPFields(oldEndpoints)) == 0 {
|
||||||
for _, f := range endpointsSCTPFields(endpoints) {
|
for _, f := range endpointsSCTPFields(endpoints) {
|
||||||
errs = append(errs, field.NotSupported(f, api.ProtocolSCTP, []string{string(api.ProtocolTCP), string(api.ProtocolUDP)}))
|
errs = append(errs, field.NotSupported(f, api.ProtocolSCTP, []string{string(api.ProtocolTCP), string(api.ProtocolUDP)}))
|
||||||
}
|
}
|
||||||
|
@ -116,7 +114,7 @@ func validateConditionalPodSpec(podSpec, oldPodSpec *api.PodSpec, fldPath *field
|
||||||
errs := field.ErrorList{}
|
errs := field.ErrorList{}
|
||||||
|
|
||||||
// If the SCTPSupport feature is disabled, and the old object isn't using the SCTP feature, prevent the new object from using it
|
// If the SCTPSupport feature is disabled, and the old object isn't using the SCTP feature, prevent the new object from using it
|
||||||
if !utilfeature.DefaultFeatureGate.Enabled(features.SCTPSupport) && len(podSCTPFields(oldPodSpec, nil)) == 0 {
|
if len(podSCTPFields(oldPodSpec, nil)) == 0 {
|
||||||
for _, f := range podSCTPFields(podSpec, fldPath) {
|
for _, f := range podSCTPFields(podSpec, fldPath) {
|
||||||
errs = append(errs, field.NotSupported(f, api.ProtocolSCTP, []string{string(api.ProtocolTCP), string(api.ProtocolUDP)}))
|
errs = append(errs, field.NotSupported(f, api.ProtocolSCTP, []string{string(api.ProtocolTCP), string(api.ProtocolUDP)}))
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ import (
|
||||||
|
|
||||||
"k8s.io/klog"
|
"k8s.io/klog"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||||
|
|
|
@ -18,17 +18,15 @@ package validation
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
|
||||||
api "k8s.io/kubernetes/pkg/apis/core"
|
api "k8s.io/kubernetes/pkg/apis/core"
|
||||||
"k8s.io/kubernetes/pkg/apis/networking"
|
"k8s.io/kubernetes/pkg/apis/networking"
|
||||||
"k8s.io/kubernetes/pkg/features"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// ValidateConditionalNetworkPolicy validates conditionally valid fields.
|
// ValidateConditionalNetworkPolicy validates conditionally valid fields.
|
||||||
func ValidateConditionalNetworkPolicy(np, oldNP *networking.NetworkPolicy) field.ErrorList {
|
func ValidateConditionalNetworkPolicy(np, oldNP *networking.NetworkPolicy) field.ErrorList {
|
||||||
var errs field.ErrorList
|
var errs field.ErrorList
|
||||||
// If the SCTPSupport feature is disabled, and the old object isn't using the SCTP feature, prevent the new object from using it
|
// If the SCTPSupport feature is disabled, and the old object isn't using the SCTP feature, prevent the new object from using it
|
||||||
if !utilfeature.DefaultFeatureGate.Enabled(features.SCTPSupport) && len(sctpFields(oldNP)) == 0 {
|
if len(sctpFields(oldNP)) == 0 {
|
||||||
for _, f := range sctpFields(np) {
|
for _, f := range sctpFields(np) {
|
||||||
errs = append(errs, field.NotSupported(f, api.ProtocolSCTP, []string{string(api.ProtocolTCP), string(api.ProtocolUDP)}))
|
errs = append(errs, field.NotSupported(f, api.ProtocolSCTP, []string{string(api.ProtocolTCP), string(api.ProtocolUDP)}))
|
||||||
}
|
}
|
||||||
|
|
|
@ -296,12 +296,6 @@ const (
|
||||||
// (Kube) Node Lifecycle Controller uses these heartbeats as a node health signal.
|
// (Kube) Node Lifecycle Controller uses these heartbeats as a node health signal.
|
||||||
NodeLease utilfeature.Feature = "NodeLease"
|
NodeLease utilfeature.Feature = "NodeLease"
|
||||||
|
|
||||||
// owner: @janosi
|
|
||||||
// alpha: v1.12
|
|
||||||
//
|
|
||||||
// Enables SCTP as new protocol for Service ports, NetworkPolicy, and ContainerPort in Pod/Containers definition
|
|
||||||
SCTPSupport utilfeature.Feature = "SCTPSupport"
|
|
||||||
|
|
||||||
// owner: @xing-yang
|
// owner: @xing-yang
|
||||||
// alpha: v1.12
|
// alpha: v1.12
|
||||||
//
|
//
|
||||||
|
@ -418,7 +412,6 @@ var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureS
|
||||||
CSIInlineVolume: {Default: false, PreRelease: utilfeature.Alpha},
|
CSIInlineVolume: {Default: false, PreRelease: utilfeature.Alpha},
|
||||||
RuntimeClass: {Default: true, PreRelease: utilfeature.Beta},
|
RuntimeClass: {Default: true, PreRelease: utilfeature.Beta},
|
||||||
NodeLease: {Default: true, PreRelease: utilfeature.Beta},
|
NodeLease: {Default: true, PreRelease: utilfeature.Beta},
|
||||||
SCTPSupport: {Default: false, PreRelease: utilfeature.Alpha},
|
|
||||||
VolumeSnapshotDataSource: {Default: false, PreRelease: utilfeature.Alpha},
|
VolumeSnapshotDataSource: {Default: false, PreRelease: utilfeature.Alpha},
|
||||||
ProcMountType: {Default: false, PreRelease: utilfeature.Alpha},
|
ProcMountType: {Default: false, PreRelease: utilfeature.Alpha},
|
||||||
TTLAfterFinished: {Default: false, PreRelease: utilfeature.Alpha},
|
TTLAfterFinished: {Default: false, PreRelease: utilfeature.Alpha},
|
||||||
|
|
Loading…
Reference in New Issue