Skip to content

Commit 8150380

Browse files
authored
Merge pull request #8862 from sbueringer/pr-kcp-panic
🌱 KCP: avoid panic if etcd server misbehaves
2 parents 52fd7eb + 198f52d commit 8150380

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

controlplane/kubeadm/internal/workload_cluster_conditions.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ func (w *Workload) updateManagedEtcdConditions(ctx context.Context, controlPlane
121121
// Retrieve the member and check for alarms.
122122
// NB. The member for this node always exists given forFirstAvailableNode(node) used above
123123
member := etcdutil.MemberForName(currentMembers, node.Name)
124+
if member == nil {
125+
conditions.MarkFalse(machine, controlplanev1.MachineEtcdMemberHealthyCondition, controlplanev1.EtcdMemberUnhealthyReason, clusterv1.ConditionSeverityError, "etcd member reports the cluster is composed by members %s, but the member itself (%s) is not included", etcdutil.MemberNames(currentMembers), node.Name)
126+
continue
127+
}
124128
if len(member.Alarms) > 0 {
125129
alarmList := []string{}
126130
for _, alarm := range member.Alarms {

0 commit comments

Comments
 (0)