@@ -28,6 +28,7 @@ var _ = Describe("Check sync pods controller", Ordered, Label("node"), func() {
2828 var updateSts , currentSts * appsv1.StatefulSet
2929 var updateRs , currentRs * appsv1.ReplicaSet
3030 var currentRsPod * corev1.Pod
31+ var currentStsPod * corev1.Pod
3132
3233 BeforeEach (func () {
3334 fakeR .ReqFunc = func (method string , url url.URL , body []byte , header http.Header ) (resp * http.Response , respBody []byte , err error ) {
@@ -204,6 +205,25 @@ var _ = Describe("Check sync pods controller", Ordered, Label("node"), func() {
204205 Spec : currentRs .Spec .Template .Spec ,
205206 }
206207 Expect (k8sClient .Create (ctx , currentRsPod )).Should (Succeed ())
208+
209+ currentStsPod = & corev1.Pod {
210+ ObjectMeta : metav1.ObjectMeta {
211+ Name : currentSts .Name + "-0" ,
212+ Namespace : currentSts .Namespace ,
213+ Labels : currentSts .Spec .Template .Labels ,
214+ OwnerReferences : []metav1.OwnerReference {
215+ {
216+ APIVersion : "apps/v1" ,
217+ Kind : "StatefulSet" ,
218+ Name : currentSts .Name ,
219+ UID : currentSts .UID ,
220+ Controller : ptr .To (true ),
221+ },
222+ },
223+ },
224+ Spec : currentSts .Spec .Template .Spec ,
225+ }
226+ Expect (k8sClient .Create (ctx , currentStsPod )).Should (Succeed ())
207227 })
208228
209229 AfterEach (func () {
@@ -310,8 +330,45 @@ var _ = Describe("check can be scale down", func() {
310330 Spec : appsv1.StatefulSetSpec {
311331 ServiceName : instance .Name + "-fake" ,
312332 Replicas : ptr .To (int32 (1 )),
333+ Selector : & metav1.LabelSelector {
334+ MatchLabels : appsv2beta1 .DefaultCoreLabels (instance ),
335+ },
336+ Template : corev1.PodTemplateSpec {
337+ ObjectMeta : metav1.ObjectMeta {
338+ Labels : appsv2beta1 .DefaultCoreLabels (instance ),
339+ },
340+ Spec : corev1.PodSpec {
341+ Containers : []corev1.Container {
342+ {Name : "emqx" , Image : "emqx" },
343+ },
344+ },
345+ },
346+ },
347+ }
348+ Expect (k8sClient .Create (ctx , oldSts )).Should (Succeed ())
349+ Expect (k8sClient .Get (ctx , client .ObjectKeyFromObject (oldSts ), oldSts )).Should (Succeed ())
350+ oldSts .Status .Replicas = 1
351+ oldSts .Status .ReadyReplicas = 1
352+ Expect (k8sClient .Status ().Update (ctx , oldSts )).Should (Succeed ())
353+
354+ oldStsPod := & corev1.Pod {
355+ ObjectMeta : metav1.ObjectMeta {
356+ Name : oldSts .Name + "-0" ,
357+ Namespace : oldSts .Namespace ,
358+ Labels : oldSts .Spec .Template .Labels ,
359+ OwnerReferences : []metav1.OwnerReference {
360+ {
361+ APIVersion : "apps/v1" ,
362+ Kind : "StatefulSet" ,
363+ Name : oldSts .Name ,
364+ UID : oldSts .UID ,
365+ Controller : ptr .To (true ),
366+ },
367+ },
313368 },
369+ Spec : oldSts .Spec .Template .Spec ,
314370 }
371+ Expect (k8sClient .Create (ctx , oldStsPod )).Should (Succeed ())
315372
316373 })
317374 It ("emqx is not available" , func () {
0 commit comments