Skip to content

Commit a5810fe

Browse files
committed
WIP
Signed-off-by: Rory Z <[email protected]>
1 parent df0410b commit a5810fe

12 files changed

+67
-37
lines changed

apis/apps/v2beta1/status.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ type EMQXStatus struct {
2828
// Represents the latest available observations of a EMQX Custom Resource current state.
2929
Conditions []metav1.Condition `json:"conditions,omitempty"`
3030

31-
CoreNodes []EMQXNode `json:"coreNodes,omitempty"`
32-
CoreNodesStatus EMQXNodesStatus `json:"coreNodesStatus,omitempty"`
31+
CoreNodes []EMQXNode `json:"coreNodes,omitempty"`
32+
CoreNodesStatus *EMQXNodesStatus `json:"coreNodesStatus,omitempty"`
3333

34-
ReplicantNodes []EMQXNode `json:"replicantNodes,omitempty"`
35-
ReplicantNodesStatus EMQXNodesStatus `json:"replicantNodesStatus,omitempty"`
34+
ReplicantNodes []EMQXNode `json:"replicantNodes,omitempty"`
35+
ReplicantNodesStatus *EMQXNodesStatus `json:"replicantNodesStatus,omitempty"`
3636

3737
NodeEvacuationsStatus []NodeEvacuationStatus `json:"nodEvacuationsStatus,omitempty"`
3838
}

apis/apps/v2beta1/zz_generated.deepcopy.go

Lines changed: 10 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controllers/apps/v2beta1/add_emqx_core.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ type addCore struct {
2727
}
2828

2929
func (a *addCore) reconcile(ctx context.Context, logger logr.Logger, instance *appsv2beta1.EMQX, _ innerReq.RequesterInterface) subResult {
30+
if instance.Status.CoreNodesStatus == nil {
31+
instance.Status.CoreNodesStatus = &appsv2beta1.EMQXNodesStatus{}
32+
}
33+
3034
preSts := getNewStatefulSet(instance)
3135
preStsHash := preSts.Labels[appsv2beta1.LabelsPodTemplateHashKey]
3236
updateSts, _, _ := getStateFulSetList(ctx, a.Client, instance)

controllers/apps/v2beta1/add_emqx_core_suite_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ var _ = Describe("Check add core controller", Ordered, Label("core"), func() {
4646
LastTransitionTime: metav1.Time{Time: time.Now().AddDate(0, 0, -1)},
4747
},
4848
}
49+
instance.Status.CoreNodesStatus = &appsv2beta1.EMQXNodesStatus{}
4950
})
5051

5152
It("create namespace", func() {

controllers/apps/v2beta1/add_emqx_core_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func TestGetNewStatefulSet(t *testing.T) {
3737
},
3838
}
3939
instance.Spec.CoreTemplate.Spec.Replicas = ptr.To(int32(3))
40-
instance.Status.CoreNodesStatus = appsv2beta1.EMQXNodesStatus{
40+
instance.Status.CoreNodesStatus = &appsv2beta1.EMQXNodesStatus{
4141
CollisionCount: ptr.To(int32(0)),
4242
}
4343

controllers/apps/v2beta1/add_emqx_repl.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ func (a *addRepl) reconcile(ctx context.Context, logger logr.Logger, instance *a
3333
return subResult{}
3434
}
3535

36+
if instance.Status.ReplicantNodesStatus == nil {
37+
instance.Status.ReplicantNodesStatus = &appsv2beta1.EMQXNodesStatus{}
38+
}
39+
3640
preRs := getNewReplicaSet(instance)
3741
preRsHash := preRs.Labels[appsv2beta1.LabelsPodTemplateHashKey]
3842
updateRs, _, _ := getReplicaSetList(ctx, a.Client, instance)
@@ -124,7 +128,10 @@ func getNewReplicaSet(instance *appsv2beta1.EMQX) *appsv1.ReplicaSet {
124128
svcPorts, _ := appsv2beta1.GetDashboardServicePort(instance.Spec.Config.Data)
125129

126130
preRs := generateReplicaSet(instance)
127-
podTemplateSpecHash := computeHash(preRs.Spec.Template.DeepCopy(), instance.Status.ReplicantNodesStatus.CollisionCount)
131+
podTemplateSpecHash := computeHash(preRs.Spec.Template.DeepCopy(), nil)
132+
if instance.Status.ReplicantNodesStatus != nil {
133+
podTemplateSpecHash = computeHash(preRs.Spec.Template.DeepCopy(), instance.Status.ReplicantNodesStatus.CollisionCount)
134+
}
128135
preRs.Name = preRs.Name + "-" + podTemplateSpecHash
129136
preRs.Labels = appsv2beta1.CloneAndAddLabel(preRs.Labels, appsv2beta1.LabelsPodTemplateHashKey, podTemplateSpecHash)
130137
preRs.Spec.Selector = appsv2beta1.CloneSelectorAndAddLabel(preRs.Spec.Selector, appsv2beta1.LabelsPodTemplateHashKey, podTemplateSpecHash)

controllers/apps/v2beta1/add_emqx_repl_suite_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ var _ = Describe("Check add repl controller", Ordered, Label("repl"), func() {
3939
},
4040
}
4141
instance.Status = appsv2beta1.EMQXStatus{
42-
ReplicantNodesStatus: appsv2beta1.EMQXNodesStatus{
42+
ReplicantNodesStatus: &appsv2beta1.EMQXNodesStatus{
4343
Replicas: 3,
4444
},
4545
Conditions: []metav1.Condition{

controllers/apps/v2beta1/add_emqx_repl_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func TestGetNewReplicaSet(t *testing.T) {
4040
Replicas: ptr.To(int32(3)),
4141
},
4242
}
43-
instance.Status.ReplicantNodesStatus = appsv2beta1.EMQXNodesStatus{
43+
instance.Status.ReplicantNodesStatus = &appsv2beta1.EMQXNodesStatus{
4444
CollisionCount: ptr.To(int32(0)),
4545
}
4646

controllers/apps/v2beta1/sync_pods_suite_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,15 @@ var _ = Describe("Check sync pods controller", Ordered, Label("node"), func() {
6464
LastTransitionTime: metav1.Time{Time: time.Now().AddDate(0, 0, -1)},
6565
},
6666
},
67-
CoreNodesStatus: appsv2beta1.EMQXNodesStatus{
67+
CoreNodesStatus: &appsv2beta1.EMQXNodesStatus{
6868
UpdateRevision: "update",
6969
UpdateReplicas: 1,
7070
CurrentRevision: "current",
7171
CurrentReplicas: 1,
7272
ReadyReplicas: 2,
7373
Replicas: 1,
7474
},
75-
ReplicantNodesStatus: appsv2beta1.EMQXNodesStatus{
75+
ReplicantNodesStatus: &appsv2beta1.EMQXNodesStatus{
7676
UpdateRevision: "update",
7777
UpdateReplicas: 1,
7878
CurrentRevision: "current",
@@ -334,7 +334,7 @@ var _ = Describe("check can be scale down", func() {
334334
Replicas: ptr.To(int32(3)),
335335
},
336336
}
337-
instance.Status.ReplicantNodesStatus = appsv2beta1.EMQXNodesStatus{
337+
instance.Status.ReplicantNodesStatus = &appsv2beta1.EMQXNodesStatus{
338338
UpdateRevision: "update",
339339
CurrentRevision: "current",
340340
}

controllers/apps/v2beta1/update_emqx_status.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,15 @@ type updateStatus struct {
2121
}
2222

2323
func (u *updateStatus) reconcile(ctx context.Context, logger logr.Logger, instance *appsv2beta1.EMQX, r innerReq.RequesterInterface) subResult {
24+
if instance.Status.CoreNodesStatus == nil {
25+
instance.Status.CoreNodesStatus = &appsv2beta1.EMQXNodesStatus{}
26+
}
2427
instance.Status.CoreNodesStatus.Replicas = *instance.Spec.CoreTemplate.Spec.Replicas
28+
2529
if instance.Spec.ReplicantTemplate != nil {
30+
if instance.Status.ReplicantNodesStatus == nil {
31+
instance.Status.ReplicantNodesStatus = &appsv2beta1.EMQXNodesStatus{}
32+
}
2633
instance.Status.ReplicantNodesStatus.Replicas = *instance.Spec.ReplicantTemplate.Spec.Replicas
2734
}
2835

0 commit comments

Comments
 (0)