From 6822a0ec20f665a99ee267fe50a8f5ed3853faca Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Tue, 27 Oct 2020 13:40:30 +0100 Subject: [PATCH] Move pkg/apis/core/v1.IsScalarResourceName under pkg/scheduler/util IsScalarResourceName is imported only inside pkg/scheduler packages. --- pkg/apis/core/v1/helper/helpers.go | 6 ------ .../plugins/noderesources/resource_allocation.go | 3 +-- pkg/scheduler/framework/types.go | 13 +++++++------ pkg/scheduler/util/non_zero.go | 3 +-- pkg/scheduler/util/utils.go | 7 +++++++ 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/pkg/apis/core/v1/helper/helpers.go b/pkg/apis/core/v1/helper/helpers.go index ca45fd8ec40..6138e26ffed 100644 --- a/pkg/apis/core/v1/helper/helpers.go +++ b/pkg/apis/core/v1/helper/helpers.go @@ -136,12 +136,6 @@ func IsAttachableVolumeResourceName(name v1.ResourceName) bool { return strings.HasPrefix(string(name), v1.ResourceAttachableVolumesPrefix) } -// IsScalarResourceName validates the resource for Extended, Hugepages, Native and AttachableVolume resources -func IsScalarResourceName(name v1.ResourceName) bool { - return IsExtendedResourceName(name) || IsHugePageResourceName(name) || - IsPrefixedNativeResource(name) || IsAttachableVolumeResourceName(name) -} - // IsServiceIPSet aims to check if the service's ClusterIP is set or not // the objective is not to perform validation here func IsServiceIPSet(service *v1.Service) bool { diff --git a/pkg/scheduler/framework/plugins/noderesources/resource_allocation.go b/pkg/scheduler/framework/plugins/noderesources/resource_allocation.go index b3d60a4a7ca..8326e5a90a0 100644 --- a/pkg/scheduler/framework/plugins/noderesources/resource_allocation.go +++ b/pkg/scheduler/framework/plugins/noderesources/resource_allocation.go @@ -20,7 +20,6 @@ import ( v1 "k8s.io/api/core/v1" utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/klog/v2" - v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/scheduler/framework" schedutil "k8s.io/kubernetes/pkg/scheduler/util" @@ -100,7 +99,7 @@ func calculateResourceAllocatableRequest(nodeInfo *framework.NodeInfo, pod *v1.P case v1.ResourceEphemeralStorage: return nodeInfo.Allocatable.EphemeralStorage, (nodeInfo.Requested.EphemeralStorage + podRequest) default: - if v1helper.IsScalarResourceName(resource) { + if schedutil.IsScalarResourceName(resource) { return nodeInfo.Allocatable.ScalarResources[resource], (nodeInfo.Requested.ScalarResources[resource] + podRequest) } } diff --git a/pkg/scheduler/framework/types.go b/pkg/scheduler/framework/types.go index 892e4c04430..4d6dbfc9ab2 100644 --- a/pkg/scheduler/framework/types.go +++ b/pkg/scheduler/framework/types.go @@ -19,7 +19,11 @@ package framework import ( "errors" "fmt" - "k8s.io/api/core/v1" + "sync" + "sync/atomic" + "time" + + v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" @@ -29,9 +33,6 @@ import ( v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" "k8s.io/kubernetes/pkg/features" schedutil "k8s.io/kubernetes/pkg/scheduler/util" - "sync" - "sync/atomic" - "time" ) var generation int64 @@ -317,7 +318,7 @@ func (r *Resource) Add(rl v1.ResourceList) { r.EphemeralStorage += rQuant.Value() } default: - if v1helper.IsScalarResourceName(rName) { + if schedutil.IsScalarResourceName(rName) { r.AddScalar(rName, rQuant.Value()) } } @@ -394,7 +395,7 @@ func (r *Resource) SetMaxResource(rl v1.ResourceList) { r.EphemeralStorage = ephemeralStorage } default: - if v1helper.IsScalarResourceName(rName) { + if schedutil.IsScalarResourceName(rName) { value := rQuantity.Value() if value > r.ScalarResources[rName] { r.SetScalar(rName, value) diff --git a/pkg/scheduler/util/non_zero.go b/pkg/scheduler/util/non_zero.go index 98be63524f4..bf8c47c5378 100644 --- a/pkg/scheduler/util/non_zero.go +++ b/pkg/scheduler/util/non_zero.go @@ -19,7 +19,6 @@ package util import ( v1 "k8s.io/api/core/v1" utilfeature "k8s.io/apiserver/pkg/util/feature" - v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" "k8s.io/kubernetes/pkg/features" ) @@ -73,7 +72,7 @@ func GetNonzeroRequestForResource(resource v1.ResourceName, requests *v1.Resourc } return quantity.Value() default: - if v1helper.IsScalarResourceName(resource) { + if IsScalarResourceName(resource) { quantity, found := (*requests)[resource] if !found { return 0 diff --git a/pkg/scheduler/util/utils.go b/pkg/scheduler/util/utils.go index c45e9616d70..93ed14f3954 100644 --- a/pkg/scheduler/util/utils.go +++ b/pkg/scheduler/util/utils.go @@ -31,6 +31,7 @@ import ( corev1helpers "k8s.io/component-helpers/scheduling/corev1" "k8s.io/klog/v2" extenderv1 "k8s.io/kube-scheduler/extender/v1" + v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" ) // GetPodFullName returns a name that uniquely identifies a pod. @@ -163,3 +164,9 @@ func ClearNominatedNodeName(cs kubernetes.Interface, pods ...*v1.Pod) utilerrors } return utilerrors.NewAggregate(errs) } + +// IsScalarResourceName validates the resource for Extended, Hugepages, Native and AttachableVolume resources +func IsScalarResourceName(name v1.ResourceName) bool { + return v1helper.IsExtendedResourceName(name) || v1helper.IsHugePageResourceName(name) || + v1helper.IsPrefixedNativeResource(name) || v1helper.IsAttachableVolumeResourceName(name) +}