fix ignored podinfo parserr

Co-authored-by: Jie Shen <drfish.me@gmail.com>
This commit is contained in:
dabaooline 2021-02-06 18:59:12 +08:00
parent 19c9cf7a20
commit 7c99f426cd
2 changed files with 8 additions and 6 deletions

View File

@ -21,6 +21,7 @@ go_library(
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_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/labels:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types: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/apimachinery/pkg/util/sets:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
"//staging/src/k8s.io/client-go/informers:go_default_library", "//staging/src/k8s.io/client-go/informers:go_default_library",

View File

@ -29,6 +29,7 @@ import (
"k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/labels"
utilerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
utilfeature "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/klog/v2" "k8s.io/klog/v2"
@ -190,22 +191,22 @@ func NewPodInfo(pod *v1.Pod) *PodInfo {
} }
// Attempt to parse the affinity terms // Attempt to parse the affinity terms
var parseErr error var parseErrs []error
requiredAffinityTerms, err := getAffinityTerms(pod, schedutil.GetPodAffinityTerms(pod.Spec.Affinity)) requiredAffinityTerms, err := getAffinityTerms(pod, schedutil.GetPodAffinityTerms(pod.Spec.Affinity))
if err != nil { 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)) requiredAntiAffinityTerms, err := getAffinityTerms(pod, schedutil.GetPodAntiAffinityTerms(pod.Spec.Affinity))
if err != nil { if err != nil {
parseErr = fmt.Errorf("requiredAntiAffinityTerms: %w", err) parseErrs = append(parseErrs, fmt.Errorf("requiredAntiAffinityTerms: %w", err))
} }
weightedAffinityTerms, err := getWeightedAffinityTerms(pod, preferredAffinityTerms) weightedAffinityTerms, err := getWeightedAffinityTerms(pod, preferredAffinityTerms)
if err != nil { if err != nil {
parseErr = fmt.Errorf("preferredAffinityTerms: %w", err) parseErrs = append(parseErrs, fmt.Errorf("preferredAffinityTerms: %w", err))
} }
weightedAntiAffinityTerms, err := getWeightedAffinityTerms(pod, preferredAntiAffinityTerms) weightedAntiAffinityTerms, err := getWeightedAffinityTerms(pod, preferredAntiAffinityTerms)
if err != nil { if err != nil {
parseErr = fmt.Errorf("preferredAntiAffinityTerms: %w", err) parseErrs = append(parseErrs, fmt.Errorf("preferredAntiAffinityTerms: %w", err))
} }
return &PodInfo{ return &PodInfo{
@ -214,7 +215,7 @@ func NewPodInfo(pod *v1.Pod) *PodInfo {
RequiredAntiAffinityTerms: requiredAntiAffinityTerms, RequiredAntiAffinityTerms: requiredAntiAffinityTerms,
PreferredAffinityTerms: weightedAffinityTerms, PreferredAffinityTerms: weightedAffinityTerms,
PreferredAntiAffinityTerms: weightedAntiAffinityTerms, PreferredAntiAffinityTerms: weightedAntiAffinityTerms,
ParseError: parseErr, ParseError: utilerrors.NewAggregate(parseErrs),
} }
} }