From dca1447f5fff20687575e90d3ba46d55114a3f23 Mon Sep 17 00:00:00 2001 From: chentao1596 Date: Thu, 2 Nov 2017 14:56:55 +0800 Subject: [PATCH] Optimizing the implementation of the error check for PriorityClass --- plugin/pkg/admission/priority/admission.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/plugin/pkg/admission/priority/admission.go b/plugin/pkg/admission/priority/admission.go index 5105809e909..c6416fea577 100644 --- a/plugin/pkg/admission/priority/admission.go +++ b/plugin/pkg/admission/priority/admission.go @@ -162,12 +162,15 @@ func (p *PriorityPlugin) admitPod(a admission.Attributes) error { if !ok { // Now that we didn't find any system priority, try resolving by user defined priority classes. pc, err := p.lister.Get(pod.Spec.PriorityClassName) + if err != nil { - return fmt.Errorf("failed to get default priority class %s: %v", pod.Spec.PriorityClassName, err) - } - if pc == nil { - return admission.NewForbidden(a, fmt.Errorf("no PriorityClass with name %v was found", pod.Spec.PriorityClassName)) + if errors.IsNotFound(err) { + return admission.NewForbidden(a, fmt.Errorf("no PriorityClass with name %v was found", pod.Spec.PriorityClassName)) + } + + return fmt.Errorf("failed to get PriorityClass with name %s: %v", pod.Spec.PriorityClassName, err) } + priority = pc.Value } }