Skip to content

Commit f963832

Browse files
author
lamai93
committed
Update member status. If once decided to drain, continue draining.
1 parent e91251f commit f963832

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

pkg/deployment/resources/pod_termination.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,12 @@ func (r *Resources) prepareDBServerPodTermination(ctx context.Context, log zerol
123123
log.Debug().Msg("Pod is already failed, safe to remove dbserver pod")
124124
return nil
125125
}
126+
// If pod is not member of cluster, do nothing
127+
if !memberStatus.Conditions.IsTrue(api.ConditionTypeMemberOfCluster) {
128+
log.Debug().Msg("Pod is not member of cluster")
129+
return nil
130+
}
131+
126132
// Inspect deployment deletion state
127133
apiObject := r.context.GetAPIObject()
128134
if apiObject.GetDeletionTimestamp() != nil {
@@ -154,6 +160,11 @@ func (r *Resources) prepareDBServerPodTermination(ctx context.Context, log zerol
154160
dbserverDataWillBeGone = true
155161
}
156162

163+
// Once decided to drain the member, never go back
164+
if memberStatus.Phase == api.MemberPhaseCreated {
165+
dbserverDataWillBeGone = true
166+
}
167+
157168
// Is this a simple pod restart?
158169
if !dbserverDataWillBeGone {
159170
log.Debug().Msg("Pod is just being restarted, safe to remove dbserver pod")
@@ -230,11 +241,15 @@ func (r *Resources) prepareDBServerPodTermination(ctx context.Context, log zerol
230241
return maskAny(err)
231242
}
232243
if jobStatus.IsFailed() {
233-
log.Warn().Str("reason", jobStatus.Reason()).Msg("Cleanout Job failed. Aborting plan")
244+
log.Warn().Str("reason", jobStatus.Reason()).Msg("Cleanout Job failed")
234245
// Revert cleanout state
235246
memberStatus.Phase = api.MemberPhaseCreated
236247
memberStatus.CleanoutJobID = ""
237-
return maskAny(fmt.Errorf("Clean out server job failed"))
248+
if err := updateMember(memberStatus); err != nil {
249+
return maskAny(err)
250+
}
251+
log.Error().Msg("Cleanout server job failed, continue anyway")
252+
return nil
238253
}
239254
}
240255

0 commit comments

Comments
 (0)