|
1 | 1 | // |
2 | 2 | // DISCLAIMER |
3 | 3 | // |
4 | | -// Copyright 2023 ArangoDB GmbH, Cologne, Germany |
| 4 | +// Copyright 2023-2024 ArangoDB GmbH, Cologne, Germany |
5 | 5 | // |
6 | 6 | // Licensed under the Apache License, Version 2.0 (the "License"); |
7 | 7 | // you may not use this file except in compliance with the License. |
@@ -67,31 +67,30 @@ func (r *Reconciler) createMemberPodSchedulingFailurePlan(ctx context.Context, |
67 | 67 | continue |
68 | 68 | } |
69 | 69 |
|
70 | | - if r.isSchedulingParametersChanged(renderedPod.Spec, m.Member, context) { |
71 | | - l.Info("Adding KillMemberPod action: scheduling failed and parameters already updated") |
72 | | - p = append(p, |
73 | | - actions.NewAction(api.ActionTypeKillMemberPod, m.Group, m.Member, "Scheduling failed"), |
74 | | - ) |
| 70 | + cache, ok := context.ACS().ClusterCache(m.Member.ClusterID) |
| 71 | + if !ok { |
| 72 | + continue |
75 | 73 | } |
76 | | - } |
77 | 74 |
|
78 | | - return p |
79 | | -} |
| 75 | + memberName := m.Member.ArangoMemberName(context.GetName(), m.Group) |
| 76 | + member, ok := cache.ArangoMember().V1().GetSimple(memberName) |
| 77 | + if !ok { |
| 78 | + continue |
| 79 | + } |
80 | 80 |
|
81 | | -// isSchedulingParametersChanged returns true if parameters related to pod scheduling has changed |
82 | | -func (r *Reconciler) isSchedulingParametersChanged(expectedSpec core.PodSpec, member api.MemberStatus, context PlanBuilderContext) bool { |
83 | | - cache, ok := context.ACS().ClusterCache(member.ClusterID) |
84 | | - if !ok { |
85 | | - return false |
86 | | - } |
87 | | - pod, ok := cache.Pod().V1().GetSimple(member.Pod.GetName()) |
88 | | - if !ok { |
89 | | - return false |
90 | | - } |
91 | | - if r.schedulingParametersAreTheSame(expectedSpec, pod.Spec) { |
92 | | - return false |
| 81 | + if template := member.Spec.Template; template != nil { |
| 82 | + if pod := template.PodSpec; pod != nil { |
| 83 | + if !r.schedulingParametersAreTheSame(renderedPod.Spec, pod.Spec) { |
| 84 | + l.Info("Adding KillMemberPod action: scheduling failed and parameters already updated") |
| 85 | + p = append(p, |
| 86 | + actions.NewAction(api.ActionTypeKillMemberPod, m.Group, m.Member, "Scheduling failed"), |
| 87 | + ) |
| 88 | + } |
| 89 | + } |
| 90 | + } |
93 | 91 | } |
94 | | - return true |
| 92 | + |
| 93 | + return p |
95 | 94 | } |
96 | 95 |
|
97 | 96 | func (r *Reconciler) schedulingParametersAreTheSame(expectedSpec, actualSpec core.PodSpec) bool { |
|
0 commit comments