mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-10 12:32:03 +00:00
Chore: add ordinal start tweak function
This commit is contained in:
parent
3eb34d8b6c
commit
18ba7c0e43
@ -98,6 +98,12 @@ func tweakMinReadySeconds(t int32) statefulSetTweak {
|
||||
}
|
||||
}
|
||||
|
||||
func tweakOrdinalsStart(s int32) statefulSetTweak {
|
||||
return func(ss *apps.StatefulSet) {
|
||||
ss.Spec.Ordinals = &apps.StatefulSetOrdinals{Start: s}
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateStatefulSet(t *testing.T) {
|
||||
validLabels := map[string]string{"a": "b"}
|
||||
validPodTemplate := api.PodTemplate{
|
||||
@ -219,17 +225,10 @@ func TestValidateStatefulSet(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "ordinals.start positive value",
|
||||
set: apps.StatefulSet{
|
||||
ObjectMeta: metav1.ObjectMeta{Name: "abc-123", Namespace: metav1.NamespaceDefault},
|
||||
Spec: apps.StatefulSetSpec{
|
||||
PodManagementPolicy: apps.ParallelPodManagement,
|
||||
UpdateStrategy: apps.StatefulSetUpdateStrategy{Type: apps.RollingUpdateStatefulSetStrategyType},
|
||||
Selector: &metav1.LabelSelector{MatchLabels: validLabels},
|
||||
Template: validPodTemplate.Template,
|
||||
Replicas: 3,
|
||||
Ordinals: &apps.StatefulSetOrdinals{Start: 2},
|
||||
},
|
||||
},
|
||||
set: mkStatefulSet(&validPodTemplate,
|
||||
tweakReplicas(3),
|
||||
tweakOrdinalsStart(2),
|
||||
),
|
||||
},
|
||||
}
|
||||
|
||||
@ -581,17 +580,10 @@ func TestValidateStatefulSet(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "invalid ordinals.start",
|
||||
set: apps.StatefulSet{
|
||||
ObjectMeta: metav1.ObjectMeta{Name: "abc-123", Namespace: metav1.NamespaceDefault},
|
||||
Spec: apps.StatefulSetSpec{
|
||||
PodManagementPolicy: apps.ParallelPodManagement,
|
||||
UpdateStrategy: apps.StatefulSetUpdateStrategy{Type: apps.RollingUpdateStatefulSetStrategyType},
|
||||
Selector: &metav1.LabelSelector{MatchLabels: validLabels},
|
||||
Template: validPodTemplate.Template,
|
||||
Replicas: 3,
|
||||
Ordinals: &apps.StatefulSetOrdinals{Start: -2},
|
||||
},
|
||||
},
|
||||
set: mkStatefulSet(&validPodTemplate,
|
||||
tweakReplicas(3),
|
||||
tweakOrdinalsStart(-2),
|
||||
),
|
||||
errs: field.ErrorList{
|
||||
field.Invalid(field.NewPath("spec", "ordinals.start"), nil, ""),
|
||||
},
|
||||
@ -1024,27 +1016,8 @@ func TestValidateStatefulSetUpdate(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "update existing instance with .spec.ordinals.start",
|
||||
old: apps.StatefulSet{
|
||||
ObjectMeta: metav1.ObjectMeta{Name: "abc.123.example", Namespace: metav1.NamespaceDefault},
|
||||
Spec: apps.StatefulSetSpec{
|
||||
PodManagementPolicy: apps.OrderedReadyPodManagement,
|
||||
Selector: &metav1.LabelSelector{MatchLabels: validLabels},
|
||||
Template: validPodTemplate.Template,
|
||||
UpdateStrategy: apps.StatefulSetUpdateStrategy{Type: apps.RollingUpdateStatefulSetStrategyType},
|
||||
},
|
||||
},
|
||||
update: apps.StatefulSet{
|
||||
ObjectMeta: metav1.ObjectMeta{Name: "abc.123.example", Namespace: metav1.NamespaceDefault},
|
||||
Spec: apps.StatefulSetSpec{
|
||||
PodManagementPolicy: apps.OrderedReadyPodManagement,
|
||||
Selector: &metav1.LabelSelector{MatchLabels: validLabels},
|
||||
Template: validPodTemplate.Template,
|
||||
UpdateStrategy: apps.StatefulSetUpdateStrategy{Type: apps.RollingUpdateStatefulSetStrategyType},
|
||||
Ordinals: &apps.StatefulSetOrdinals{
|
||||
Start: 3,
|
||||
},
|
||||
},
|
||||
},
|
||||
old: mkStatefulSet(&validPodTemplate),
|
||||
update: mkStatefulSet(&validPodTemplate, tweakOrdinalsStart(3)),
|
||||
},
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user