@@ -21,6 +21,7 @@ import (
21
21
22
22
corev1 "k8s.io/api/core/v1"
23
23
"k8s.io/apimachinery/pkg/api/equality"
24
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24
25
)
25
26
26
27
func TestTolerations (t * testing.T ) {
@@ -43,32 +44,92 @@ func TestTolerations(t *testing.T) {
43
44
}
44
45
45
46
func TestTopologySpreadConstraints (t * testing.T ) {
46
- // Make sure we don't touch tolerations that were already there.
47
+ // Make sure we don't touch topology spread constraints that were already there.
47
48
val := []corev1.TopologySpreadConstraint {
48
49
{
49
50
MaxSkew : 1 ,
50
- TopologyKey : "alreadyExists" ,
51
+ TopologyKey : "existing-retain" ,
52
+ WhenUnsatisfiable : corev1 .DoNotSchedule ,
53
+ LabelSelector : & metav1.LabelSelector {
54
+ MatchLabels : map [string ]string {
55
+ "example-existing" : "test" ,
56
+ },
57
+ },
58
+ },
59
+ {
60
+ MaxSkew : 1 ,
61
+ TopologyKey : "existing-do-not-override" ,
51
62
WhenUnsatisfiable : corev1 .DoNotSchedule ,
63
+ LabelSelector : & metav1.LabelSelector {
64
+ MatchLabels : map [string ]string {
65
+ "example-override" : "test" ,
66
+ },
67
+ },
52
68
},
53
69
}
54
70
want := []corev1.TopologySpreadConstraint {
55
71
{
56
72
MaxSkew : 1 ,
57
- TopologyKey : "alreadyExists" ,
73
+ TopologyKey : "existing-retain" ,
74
+ WhenUnsatisfiable : corev1 .DoNotSchedule ,
75
+ LabelSelector : & metav1.LabelSelector {
76
+ MatchLabels : map [string ]string {
77
+ "example-existing" : "test" ,
78
+ },
79
+ },
80
+ },
81
+ {
82
+ MaxSkew : 1 ,
83
+ TopologyKey : "existing-do-not-override" ,
58
84
WhenUnsatisfiable : corev1 .DoNotSchedule ,
85
+ LabelSelector : & metav1.LabelSelector {
86
+ MatchLabels : map [string ]string {
87
+ "example-override" : "test" ,
88
+ },
89
+ },
59
90
},
60
91
{
61
92
MaxSkew : 2 ,
62
- TopologyKey : "newKey " ,
93
+ TopologyKey : "new-1 " ,
63
94
WhenUnsatisfiable : corev1 .ScheduleAnyway ,
95
+ LabelSelector : & metav1.LabelSelector {
96
+ MatchLabels : map [string ]string {
97
+ "example-new" : "new-1" ,
98
+ },
99
+ },
100
+ },
101
+ {
102
+ MaxSkew : 2 ,
103
+ TopologyKey : "new-2" ,
104
+ WhenUnsatisfiable : corev1 .DoNotSchedule ,
105
+ LabelSelector : & metav1.LabelSelector {
106
+ MatchLabels : map [string ]string {
107
+ "example-override" : "test" ,
108
+ },
109
+ },
64
110
},
65
111
}
66
112
67
113
TopologySpreadConstraints (& val , []corev1.TopologySpreadConstraint {
68
114
{
69
115
MaxSkew : 2 ,
70
- TopologyKey : "newKey " ,
116
+ TopologyKey : "new-1 " ,
71
117
WhenUnsatisfiable : corev1 .ScheduleAnyway ,
118
+ LabelSelector : & metav1.LabelSelector {
119
+ MatchLabels : map [string ]string {
120
+ "example-new" : "new-1" ,
121
+ },
122
+ },
123
+ },
124
+ {
125
+ MaxSkew : 2 ,
126
+ TopologyKey : "new-2" ,
127
+ WhenUnsatisfiable : corev1 .DoNotSchedule ,
128
+ LabelSelector : & metav1.LabelSelector {
129
+ MatchLabels : map [string ]string {
130
+ "example-override" : "test" ,
131
+ },
132
+ },
72
133
},
73
134
})
74
135
0 commit comments