Skip to content

Commit dc98ed9

Browse files
authored
Merge pull request kubernetes#95085 from arghya88/wrap-error-taint-toleration-plugin
Wrap errors in taint-toleration, service-affinity plugin
2 parents e799c85 + ad415b9 commit dc98ed9

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed

pkg/scheduler/framework/plugins/serviceaffinity/service_affinity.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func (pl *ServiceAffinity) PreFilter(ctx context.Context, cycleState *framework.
133133

134134
s, err := pl.createPreFilterState(pod)
135135
if err != nil {
136-
return framework.NewStatus(framework.Error, fmt.Sprintf("could not create preFilterState: %v", err))
136+
return framework.AsStatus(fmt.Errorf("could not create preFilterState: %w", err))
137137
}
138138
cycleState.Write(preFilterStateKey, s)
139139
return nil
@@ -151,7 +151,7 @@ func (pl *ServiceAffinity) PreFilterExtensions() framework.PreFilterExtensions {
151151
func (pl *ServiceAffinity) AddPod(ctx context.Context, cycleState *framework.CycleState, podToSchedule *v1.Pod, podToAdd *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status {
152152
s, err := getPreFilterState(cycleState)
153153
if err != nil {
154-
return framework.NewStatus(framework.Error, err.Error())
154+
return framework.AsStatus(err)
155155
}
156156

157157
// If addedPod is in the same namespace as the pod, update the list
@@ -172,7 +172,7 @@ func (pl *ServiceAffinity) AddPod(ctx context.Context, cycleState *framework.Cyc
172172
func (pl *ServiceAffinity) RemovePod(ctx context.Context, cycleState *framework.CycleState, podToSchedule *v1.Pod, podToRemove *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status {
173173
s, err := getPreFilterState(cycleState)
174174
if err != nil {
175-
return framework.NewStatus(framework.Error, err.Error())
175+
return framework.AsStatus(err)
176176
}
177177

178178
if len(s.matchingPodList) == 0 ||
@@ -239,12 +239,12 @@ func (pl *ServiceAffinity) Filter(ctx context.Context, cycleState *framework.Cyc
239239

240240
node := nodeInfo.Node()
241241
if node == nil {
242-
return framework.NewStatus(framework.Error, "node not found")
242+
return framework.AsStatus(fmt.Errorf("node not found"))
243243
}
244244

245245
s, err := getPreFilterState(cycleState)
246246
if err != nil {
247-
return framework.NewStatus(framework.Error, err.Error())
247+
return framework.AsStatus(err)
248248
}
249249

250250
pods, services := s.matchingPodList, s.matchingPodServices
@@ -257,7 +257,7 @@ func (pl *ServiceAffinity) Filter(ctx context.Context, cycleState *framework.Cyc
257257
if len(filteredPods) > 0 {
258258
nodeWithAffinityLabels, err := pl.sharedLister.NodeInfos().Get(filteredPods[0].Spec.NodeName)
259259
if err != nil {
260-
return framework.NewStatus(framework.Error, "node not found")
260+
return framework.AsStatus(fmt.Errorf("node not found"))
261261
}
262262
addUnsetLabelsToMap(affinityLabels, pl.args.AffinityLabels, labels.Set(nodeWithAffinityLabels.Node().Labels))
263263
}
@@ -275,12 +275,12 @@ func (pl *ServiceAffinity) Filter(ctx context.Context, cycleState *framework.Cyc
275275
func (pl *ServiceAffinity) Score(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) (int64, *framework.Status) {
276276
nodeInfo, err := pl.sharedLister.NodeInfos().Get(nodeName)
277277
if err != nil {
278-
return 0, framework.NewStatus(framework.Error, fmt.Sprintf("getting node %q from Snapshot: %v", nodeName, err))
278+
return 0, framework.AsStatus(fmt.Errorf("getting node %q from Snapshot: %w", nodeName, err))
279279
}
280280

281281
node := nodeInfo.Node()
282282
if node == nil {
283-
return 0, framework.NewStatus(framework.Error, fmt.Sprintf("node not found"))
283+
return 0, framework.AsStatus(fmt.Errorf("node not found"))
284284
}
285285

286286
// Pods matched namespace,selector on current node.
@@ -313,7 +313,7 @@ func (pl *ServiceAffinity) NormalizeScore(ctx context.Context, _ *framework.Cycl
313313
reduceResult := make([]float64, len(scores))
314314
for _, label := range pl.args.AntiAffinityLabelsPreference {
315315
if err := pl.updateNodeScoresForLabel(pl.sharedLister, scores, reduceResult, label); err != nil {
316-
return framework.NewStatus(framework.Error, err.Error())
316+
return framework.AsStatus(err)
317317
}
318318
}
319319

pkg/scheduler/framework/plugins/serviceaffinity/service_affinity_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package serviceaffinity
1818

1919
import (
2020
"context"
21+
"fmt"
2122
"reflect"
2223
"sort"
2324
"testing"
@@ -615,7 +616,7 @@ func TestPreFilterDisabled(t *testing.T) {
615616
}
616617
cycleState := framework.NewCycleState()
617618
gotStatus := p.Filter(context.Background(), cycleState, pod, nodeInfo)
618-
wantStatus := framework.NewStatus(framework.Error, `error reading "PreFilterServiceAffinity" from cycleState: not found`)
619+
wantStatus := framework.AsStatus(fmt.Errorf(`error reading "PreFilterServiceAffinity" from cycleState: not found`))
619620
if !reflect.DeepEqual(gotStatus, wantStatus) {
620621
t.Errorf("status does not match: %v, want: %v", gotStatus, wantStatus)
621622
}

pkg/scheduler/framework/plugins/tainttoleration/taint_toleration.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func (pl *TaintToleration) Name() string {
5353
// Filter invoked at the filter extension point.
5454
func (pl *TaintToleration) Filter(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status {
5555
if nodeInfo == nil || nodeInfo.Node() == nil {
56-
return framework.NewStatus(framework.Error, "invalid nodeInfo")
56+
return framework.AsStatus(fmt.Errorf("invalid nodeInfo"))
5757
}
5858

5959
filterPredicate := func(t *v1.Taint) bool {
@@ -138,13 +138,13 @@ func countIntolerableTaintsPreferNoSchedule(taints []v1.Taint, tolerations []v1.
138138
func (pl *TaintToleration) Score(ctx context.Context, state *framework.CycleState, pod *v1.Pod, nodeName string) (int64, *framework.Status) {
139139
nodeInfo, err := pl.handle.SnapshotSharedLister().NodeInfos().Get(nodeName)
140140
if err != nil || nodeInfo.Node() == nil {
141-
return 0, framework.NewStatus(framework.Error, fmt.Sprintf("getting node %q from Snapshot: %v", nodeName, err))
141+
return 0, framework.AsStatus(fmt.Errorf("getting node %q from Snapshot: %w", nodeName, err))
142142
}
143143
node := nodeInfo.Node()
144144

145145
s, err := getPreScoreState(state)
146146
if err != nil {
147-
return 0, framework.NewStatus(framework.Error, err.Error())
147+
return 0, framework.AsStatus(err)
148148
}
149149

150150
score := int64(countIntolerableTaintsPreferNoSchedule(node.Spec.Taints, s.tolerationsPreferNoSchedule))

0 commit comments

Comments
 (0)