From c94e800008391d96338a07ec53181be93ace0175 Mon Sep 17 00:00:00 2001 From: Shintaro Murakami Date: Tue, 23 Jul 2019 15:50:15 +0900 Subject: [PATCH] Use v1helper.GetPersistentVolumeClaimClass for compatibility --- pkg/controller/volume/scheduling/scheduler_binder.go | 6 +----- pkg/scheduler/algorithm/predicates/csi_volume_predicate.go | 7 ++++--- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/pkg/controller/volume/scheduling/scheduler_binder.go b/pkg/controller/volume/scheduling/scheduler_binder.go index cf16292bb86..fbb0b1240e7 100644 --- a/pkg/controller/volume/scheduling/scheduler_binder.go +++ b/pkg/controller/volume/scheduling/scheduler_binder.go @@ -665,11 +665,7 @@ func (b *volumeBinder) findMatchingVolumes(pod *v1.Pod, claimsToBind []*v1.Persi for _, pvc := range claimsToBind { // Get storage class name from each PVC - storageClassName := "" - storageClass := pvc.Spec.StorageClassName - if storageClass != nil { - storageClassName = *storageClass - } + storageClassName := v1helper.GetPersistentVolumeClaimClass(pvc) allPVs := b.pvCache.ListPVs(storageClassName) pvcName := getPVCName(pvc) diff --git a/pkg/scheduler/algorithm/predicates/csi_volume_predicate.go b/pkg/scheduler/algorithm/predicates/csi_volume_predicate.go index a93339c2dd6..4f7186898e5 100644 --- a/pkg/scheduler/algorithm/predicates/csi_volume_predicate.go +++ b/pkg/scheduler/algorithm/predicates/csi_volume_predicate.go @@ -25,6 +25,7 @@ import ( utilfeature "k8s.io/apiserver/pkg/util/feature" csilib "k8s.io/csi-translation-lib" "k8s.io/klog" + v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" "k8s.io/kubernetes/pkg/features" schedulernodeinfo "k8s.io/kubernetes/pkg/scheduler/nodeinfo" volumeutil "k8s.io/kubernetes/pkg/volume/util" @@ -208,16 +209,16 @@ func (c *CSIMaxVolumeLimitChecker) getCSIDriverInfo(csiNode *storagev1beta1.CSIN func (c *CSIMaxVolumeLimitChecker) getCSIDriverInfoFromSC(csiNode *storagev1beta1.CSINode, pvc *v1.PersistentVolumeClaim) (string, string) { namespace := pvc.Namespace pvcName := pvc.Name - scName := pvc.Spec.StorageClassName + scName := v1helper.GetPersistentVolumeClaimClass(pvc) // If StorageClass is not set or not found, then PVC must be using immediate binding mode // and hence it must be bound before scheduling. So it is safe to not count it. - if scName == nil { + if scName == "" { klog.V(5).Infof("PVC %s/%s has no StorageClass", namespace, pvcName) return "", "" } - storageClass, err := c.scInfo.GetStorageClassInfo(*scName) + storageClass, err := c.scInfo.GetStorageClassInfo(scName) if err != nil { klog.V(5).Infof("Could not get StorageClass for PVC %s/%s: %v", namespace, pvcName, err) return "", ""