mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-09 20:17:41 +00:00
Chore: add template restart policy tweak function
This commit is contained in:
parent
4418a9f590
commit
2161d095fa
@ -86,6 +86,12 @@ func tweakReplicas(replicas int32) statefulSetTweak {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func tweakTemplateRestartPolicy(rp api.RestartPolicy) statefulSetTweak {
|
||||||
|
return func(ss *apps.StatefulSet) {
|
||||||
|
ss.Spec.Template.Spec.RestartPolicy = rp
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestValidateStatefulSet(t *testing.T) {
|
func TestValidateStatefulSet(t *testing.T) {
|
||||||
validLabels := map[string]string{"a": "b"}
|
validLabels := map[string]string{"a": "b"}
|
||||||
validPodTemplate := api.PodTemplate{
|
validPodTemplate := api.PodTemplate{
|
||||||
@ -354,80 +360,21 @@ func TestValidateStatefulSet(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "invalid restart policy 1",
|
name: "invalid restart policy 1",
|
||||||
set: apps.StatefulSet{
|
set: mkStatefulSet(&validPodTemplate, tweakTemplateRestartPolicy(api.RestartPolicyOnFailure)),
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Name: "abc-123",
|
|
||||||
Namespace: metav1.NamespaceDefault,
|
|
||||||
},
|
|
||||||
Spec: apps.StatefulSetSpec{
|
|
||||||
PodManagementPolicy: apps.OrderedReadyPodManagement,
|
|
||||||
Selector: &metav1.LabelSelector{MatchLabels: validLabels},
|
|
||||||
Template: api.PodTemplateSpec{
|
|
||||||
Spec: api.PodSpec{
|
|
||||||
RestartPolicy: api.RestartPolicyOnFailure,
|
|
||||||
DNSPolicy: api.DNSClusterFirst,
|
|
||||||
Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent"}},
|
|
||||||
},
|
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Labels: validLabels,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
UpdateStrategy: apps.StatefulSetUpdateStrategy{Type: apps.RollingUpdateStatefulSetStrategyType},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
errs: field.ErrorList{
|
errs: field.ErrorList{
|
||||||
field.NotSupported(field.NewPath("spec", "template", "spec", "restartPolicy"), nil, nil),
|
field.NotSupported(field.NewPath("spec", "template", "spec", "restartPolicy"), nil, nil),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "invalid restart policy 2",
|
name: "invalid restart policy 2",
|
||||||
set: apps.StatefulSet{
|
set: mkStatefulSet(&validPodTemplate, tweakTemplateRestartPolicy(api.RestartPolicyNever)),
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Name: "abc-123",
|
|
||||||
Namespace: metav1.NamespaceDefault,
|
|
||||||
},
|
|
||||||
Spec: apps.StatefulSetSpec{
|
|
||||||
PodManagementPolicy: apps.OrderedReadyPodManagement,
|
|
||||||
Selector: &metav1.LabelSelector{MatchLabels: validLabels},
|
|
||||||
Template: api.PodTemplateSpec{
|
|
||||||
Spec: api.PodSpec{
|
|
||||||
RestartPolicy: api.RestartPolicyNever,
|
|
||||||
DNSPolicy: api.DNSClusterFirst,
|
|
||||||
Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent"}},
|
|
||||||
},
|
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Labels: validLabels,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
UpdateStrategy: apps.StatefulSetUpdateStrategy{Type: apps.RollingUpdateStatefulSetStrategyType},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
errs: field.ErrorList{
|
errs: field.ErrorList{
|
||||||
field.NotSupported(field.NewPath("spec", "template", "spec", "restartPolicy"), nil, nil),
|
field.NotSupported(field.NewPath("spec", "template", "spec", "restartPolicy"), nil, nil),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "empty restart policy",
|
name: "empty restart policy",
|
||||||
set: apps.StatefulSet{
|
set: mkStatefulSet(&validPodTemplate, tweakTemplateRestartPolicy("")),
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Name: "abc-123",
|
|
||||||
Namespace: metav1.NamespaceDefault,
|
|
||||||
},
|
|
||||||
Spec: apps.StatefulSetSpec{
|
|
||||||
PodManagementPolicy: apps.OrderedReadyPodManagement,
|
|
||||||
Selector: &metav1.LabelSelector{MatchLabels: validLabels},
|
|
||||||
Template: api.PodTemplateSpec{
|
|
||||||
Spec: api.PodSpec{
|
|
||||||
DNSPolicy: api.DNSClusterFirst,
|
|
||||||
Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent"}},
|
|
||||||
},
|
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Labels: validLabels,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
UpdateStrategy: apps.StatefulSetUpdateStrategy{Type: apps.RollingUpdateStatefulSetStrategyType},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
errs: field.ErrorList{
|
errs: field.ErrorList{
|
||||||
field.NotSupported(field.NewPath("spec", "template", "spec", "restartPolicy"), nil, nil),
|
field.NotSupported(field.NewPath("spec", "template", "spec", "restartPolicy"), nil, nil),
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user