Skip to content

Commit a64d92a

Browse files
author
lamai93
committed
Code cleanup.
1 parent 6748852 commit a64d92a

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

pkg/apis/deployment/v1alpha/member_phase.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const (
3434
MemberPhaseFailed MemberPhase = "Failed"
3535
// MemberPhaseCleanOut indicates that a dbserver is in the process of being cleaned out
3636
MemberPhaseCleanOut MemberPhase = "CleanOut"
37-
// MemberPhaseDrain indicates that a dbserver is n the process of being cleaned out as result of draining a node
37+
// MemberPhaseDrain indicates that a dbserver is in the process of being cleaned out as result of draining a node
3838
MemberPhaseDrain MemberPhase = "Drain"
3939
// MemberPhaseShuttingDown indicates that a member is shutting down
4040
MemberPhaseShuttingDown MemberPhase = "ShuttingDown"
@@ -48,3 +48,8 @@ const (
4848
func (p MemberPhase) IsFailed() bool {
4949
return p == MemberPhaseFailed
5050
}
51+
52+
// IsCreatedOrDrain returns true when given phase is MemberPhaseCreated or MemberPhaseDrain
53+
func (p MemberPhase) IsCreatedOrDrain() bool {
54+
return p == MemberPhaseCreated || p == MemberPhaseDrain
55+
}

pkg/deployment/reconcile/plan_builder.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ func createPlan(log zerolog.Logger, apiObject k8sutil.APIObject,
120120

121121
// Check for cleaned out dbserver in created state
122122
for _, m := range status.Members.DBServers {
123-
if len(plan) == 0 && (m.Phase == api.MemberPhaseCreated || m.Phase == api.MemberPhaseDrain) && m.Conditions.IsTrue(api.ConditionTypeCleanedOut) {
123+
if len(plan) == 0 && m.Phase.IsCreatedOrDrain() && m.Conditions.IsTrue(api.ConditionTypeCleanedOut) {
124124
log.Debug().
125125
Str("id", m.ID).
126126
Str("role", api.ServerGroupDBServers.AsRole()).

pkg/deployment/resources/pod_termination.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -187,14 +187,16 @@ func (r *Resources) prepareDBServerPodTermination(ctx context.Context, log zerol
187187
return nil
188188
}
189189
// Not cleaned out yet, check member status
190-
if memberStatus.Conditions.IsTrue(api.ConditionTypeTerminated) || (memberStatus.Phase == api.MemberPhaseCreated && !k8sutil.IsPodReady(p)) {
190+
if memberStatus.Conditions.IsTrue(api.ConditionTypeTerminated) {
191191
log.Warn().Msg("Member is already terminated before it could be cleaned out. Not good, but removing dbserver pod because we cannot do anything further")
192192
// At this point we have to set CleanedOut to true,
193193
// because we can no longer reason about the state in the agency and
194194
// bringing back the dbserver again may result in an cleaned out server without us knowing
195195
memberStatus.Conditions.Update(api.ConditionTypeCleanedOut, true, "Draining server failed", "")
196-
memberStatus.Phase = api.MemberPhaseCreated
197196
memberStatus.CleanoutJobID = ""
197+
if memberStatus.Phase == api.MemberPhaseDrain {
198+
memberStatus.Phase = api.MemberPhaseCreated
199+
}
198200
if err := updateMember(memberStatus); err != nil {
199201
return maskAny(err)
200202
}
@@ -234,9 +236,6 @@ func (r *Resources) prepareDBServerPodTermination(ctx context.Context, log zerol
234236
memberStatus.CleanoutJobID = ""
235237
return maskAny(fmt.Errorf("Clean out server job failed"))
236238
}
237-
} else {
238-
log.Warn().Msgf("Unexpected MemberPhase %s, allow removal", memberStatus.Phase)
239-
return nil
240239
}
241240

242241
return maskAny(fmt.Errorf("Server is not yet cleaned out"))

0 commit comments

Comments
 (0)