From 7c99f426cd0195ec53eedeea6ff87d6508a72daa Mon Sep 17 00:00:00 2001 From: dabaooline <201028369@qq.com> Date: Sat, 6 Feb 2021 18:59:12 +0800 Subject: [PATCH] fix ignored podinfo parserr Co-authored-by: Jie Shen --- pkg/scheduler/framework/BUILD | 1 + pkg/scheduler/framework/types.go | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/pkg/scheduler/framework/BUILD b/pkg/scheduler/framework/BUILD index bfb4637ccee..f1bad8ecfd0 100644 --- a/pkg/scheduler/framework/BUILD +++ b/pkg/scheduler/framework/BUILD @@ -21,6 +21,7 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/client-go/informers:go_default_library", diff --git a/pkg/scheduler/framework/types.go b/pkg/scheduler/framework/types.go index 48f9a50e00c..a892f6052ff 100644 --- a/pkg/scheduler/framework/types.go +++ b/pkg/scheduler/framework/types.go @@ -29,6 +29,7 @@ import ( "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/apimachinery/pkg/util/sets" utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/klog/v2" @@ -190,22 +191,22 @@ func NewPodInfo(pod *v1.Pod) *PodInfo { } // Attempt to parse the affinity terms - var parseErr error + var parseErrs []error requiredAffinityTerms, err := getAffinityTerms(pod, schedutil.GetPodAffinityTerms(pod.Spec.Affinity)) if err != nil { - parseErr = fmt.Errorf("requiredAffinityTerms: %w", err) + parseErrs = append(parseErrs, fmt.Errorf("requiredAffinityTerms: %w", err)) } requiredAntiAffinityTerms, err := getAffinityTerms(pod, schedutil.GetPodAntiAffinityTerms(pod.Spec.Affinity)) if err != nil { - parseErr = fmt.Errorf("requiredAntiAffinityTerms: %w", err) + parseErrs = append(parseErrs, fmt.Errorf("requiredAntiAffinityTerms: %w", err)) } weightedAffinityTerms, err := getWeightedAffinityTerms(pod, preferredAffinityTerms) if err != nil { - parseErr = fmt.Errorf("preferredAffinityTerms: %w", err) + parseErrs = append(parseErrs, fmt.Errorf("preferredAffinityTerms: %w", err)) } weightedAntiAffinityTerms, err := getWeightedAffinityTerms(pod, preferredAntiAffinityTerms) if err != nil { - parseErr = fmt.Errorf("preferredAntiAffinityTerms: %w", err) + parseErrs = append(parseErrs, fmt.Errorf("preferredAntiAffinityTerms: %w", err)) } return &PodInfo{ @@ -214,7 +215,7 @@ func NewPodInfo(pod *v1.Pod) *PodInfo { RequiredAntiAffinityTerms: requiredAntiAffinityTerms, PreferredAffinityTerms: weightedAffinityTerms, PreferredAntiAffinityTerms: weightedAntiAffinityTerms, - ParseError: parseErr, + ParseError: utilerrors.NewAggregate(parseErrs), } }