mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 18:24:07 +00:00
remove failure policy from intializer configuration
This commit is contained in:
parent
ef1b835220
commit
b642c9afbb
@ -22,7 +22,7 @@ import (
|
|||||||
"sort"
|
"sort"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/google/gofuzz"
|
fuzz "github.com/google/gofuzz"
|
||||||
|
|
||||||
apiv1 "k8s.io/api/core/v1"
|
apiv1 "k8s.io/api/core/v1"
|
||||||
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||||
@ -123,8 +123,6 @@ func TestDefaulting(t *testing.T) {
|
|||||||
{Group: "rbac.authorization.k8s.io", Version: "v1", Kind: "RoleBindingList"}: {},
|
{Group: "rbac.authorization.k8s.io", Version: "v1", Kind: "RoleBindingList"}: {},
|
||||||
{Group: "settings.k8s.io", Version: "v1alpha1", Kind: "PodPreset"}: {},
|
{Group: "settings.k8s.io", Version: "v1alpha1", Kind: "PodPreset"}: {},
|
||||||
{Group: "settings.k8s.io", Version: "v1alpha1", Kind: "PodPresetList"}: {},
|
{Group: "settings.k8s.io", Version: "v1alpha1", Kind: "PodPresetList"}: {},
|
||||||
{Group: "admissionregistration.k8s.io", Version: "v1alpha1", Kind: "InitializerConfiguration"}: {},
|
|
||||||
{Group: "admissionregistration.k8s.io", Version: "v1alpha1", Kind: "InitializerConfigurationList"}: {},
|
|
||||||
{Group: "admissionregistration.k8s.io", Version: "v1alpha1", Kind: "ExternalAdmissionHookConfiguration"}: {},
|
{Group: "admissionregistration.k8s.io", Version: "v1alpha1", Kind: "ExternalAdmissionHookConfiguration"}: {},
|
||||||
{Group: "admissionregistration.k8s.io", Version: "v1alpha1", Kind: "ExternalAdmissionHookConfigurationList"}: {},
|
{Group: "admissionregistration.k8s.io", Version: "v1alpha1", Kind: "ExternalAdmissionHookConfigurationList"}: {},
|
||||||
{Group: "networking.k8s.io", Version: "v1", Kind: "NetworkPolicy"}: {},
|
{Group: "networking.k8s.io", Version: "v1", Kind: "NetworkPolicy"}: {},
|
||||||
|
@ -31,10 +31,5 @@ var Funcs = func(codecs runtimeserializer.CodecFactory) []interface{} {
|
|||||||
p := admissionregistration.FailurePolicyType("Fail")
|
p := admissionregistration.FailurePolicyType("Fail")
|
||||||
obj.FailurePolicy = &p
|
obj.FailurePolicy = &p
|
||||||
},
|
},
|
||||||
func(obj *admissionregistration.Initializer, c fuzz.Continue) {
|
|
||||||
c.FuzzNoCustom(obj) // fuzz self without calling this function again
|
|
||||||
p := admissionregistration.FailurePolicyType("Fail")
|
|
||||||
obj.FailurePolicy = &p
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -70,13 +70,6 @@ type Initializer struct {
|
|||||||
// The initializer cares about an operation if it matches _any_ Rule.
|
// The initializer cares about an operation if it matches _any_ Rule.
|
||||||
// Rule.Resources must not include subresources.
|
// Rule.Resources must not include subresources.
|
||||||
Rules []Rule
|
Rules []Rule
|
||||||
|
|
||||||
// FailurePolicy defines what happens if the responsible initializer controller
|
|
||||||
// fails to takes action. Allowed values are Ignore, or Fail. If "Ignore" is
|
|
||||||
// set, initializer is removed from the initializers list of an object if
|
|
||||||
// the timeout is reached; If "Fail" is set, admissionregistration returns timeout error
|
|
||||||
// if the timeout is reached.
|
|
||||||
FailurePolicy *FailurePolicyType
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended
|
// Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended
|
||||||
|
@ -25,13 +25,6 @@ func addDefaultingFuncs(scheme *runtime.Scheme) error {
|
|||||||
return RegisterDefaults(scheme)
|
return RegisterDefaults(scheme)
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetDefaults_Initializer(obj *admissionregistrationv1alpha1.Initializer) {
|
|
||||||
if obj.FailurePolicy == nil {
|
|
||||||
policy := admissionregistrationv1alpha1.Ignore
|
|
||||||
obj.FailurePolicy = &policy
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func SetDefaults_ExternalAdmissionHook(obj *admissionregistrationv1alpha1.ExternalAdmissionHook) {
|
func SetDefaults_ExternalAdmissionHook(obj *admissionregistrationv1alpha1.ExternalAdmissionHook) {
|
||||||
if obj.FailurePolicy == nil {
|
if obj.FailurePolicy == nil {
|
||||||
policy := admissionregistrationv1alpha1.Ignore
|
policy := admissionregistrationv1alpha1.Ignore
|
||||||
|
@ -52,10 +52,6 @@ func validateInitializer(initializer *admissionregistration.Initializer, fldPath
|
|||||||
notAllowSubresources := false
|
notAllowSubresources := false
|
||||||
allErrors = append(allErrors, validateRule(&rule, fldPath.Child("rules").Index(i), notAllowSubresources)...)
|
allErrors = append(allErrors, validateRule(&rule, fldPath.Child("rules").Index(i), notAllowSubresources)...)
|
||||||
}
|
}
|
||||||
// TODO: relax the validation rule when admissionregistration is beta.
|
|
||||||
if initializer.FailurePolicy != nil && *initializer.FailurePolicy != admissionregistration.Ignore {
|
|
||||||
allErrors = append(allErrors, field.NotSupported(fldPath.Child("failurePolicy"), *initializer.FailurePolicy, []string{string(admissionregistration.Ignore)}))
|
|
||||||
}
|
|
||||||
return allErrors
|
return allErrors
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,20 +214,6 @@ func TestValidateInitializerConfiguration(t *testing.T) {
|
|||||||
}),
|
}),
|
||||||
expectedError: ` "a/b": must not specify subresources`,
|
expectedError: ` "a/b": must not specify subresources`,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: "FailurePolicy can only be \"Ignore\"",
|
|
||||||
config: getInitializerConfiguration(
|
|
||||||
[]admissionregistration.Initializer{
|
|
||||||
{
|
|
||||||
Name: "initializer.k8s.io",
|
|
||||||
FailurePolicy: func() *admissionregistration.FailurePolicyType {
|
|
||||||
r := admissionregistration.Fail
|
|
||||||
return &r
|
|
||||||
}(),
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
expectedError: `failurePolicy: Unsupported value: "Fail": supported values: Ignore`,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
|
@ -72,13 +72,6 @@ type Initializer struct {
|
|||||||
// The initializer cares about an operation if it matches _any_ Rule.
|
// The initializer cares about an operation if it matches _any_ Rule.
|
||||||
// Rule.Resources must not include subresources.
|
// Rule.Resources must not include subresources.
|
||||||
Rules []Rule `json:"rules,omitempty" protobuf:"bytes,2,rep,name=rules"`
|
Rules []Rule `json:"rules,omitempty" protobuf:"bytes,2,rep,name=rules"`
|
||||||
|
|
||||||
// FailurePolicy defines what happens if the responsible initializer controller
|
|
||||||
// fails to takes action. Allowed values are Ignore, or Fail. If "Ignore" is
|
|
||||||
// set, initializer is removed from the initializers list of an object if
|
|
||||||
// the timeout is reached; If "Fail" is set, admissionregistration returns timeout error
|
|
||||||
// if the timeout is reached.
|
|
||||||
FailurePolicy *FailurePolicyType `json:"failurePolicy,omitempty" protobuf:"bytes,3,opt,name=failurePolicy,casttype=FailurePolicyType"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended
|
// Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended
|
||||||
|
Loading…
Reference in New Issue
Block a user