Move pkg/apis/core/v1.IsScalarResourceName under pkg/scheduler/util

IsScalarResourceName is imported only inside pkg/scheduler packages.
This commit is contained in:
Jan Chaloupka 2020-10-27 13:40:30 +01:00
parent b4258ec138
commit 6822a0ec20
5 changed files with 16 additions and 16 deletions

View File

@ -136,12 +136,6 @@ func IsAttachableVolumeResourceName(name v1.ResourceName) bool {
return strings.HasPrefix(string(name), v1.ResourceAttachableVolumesPrefix) 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 // IsServiceIPSet aims to check if the service's ClusterIP is set or not
// the objective is not to perform validation here // the objective is not to perform validation here
func IsServiceIPSet(service *v1.Service) bool { func IsServiceIPSet(service *v1.Service) bool {

View File

@ -20,7 +20,6 @@ import (
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
utilfeature "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/klog/v2" "k8s.io/klog/v2"
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
"k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/scheduler/framework" "k8s.io/kubernetes/pkg/scheduler/framework"
schedutil "k8s.io/kubernetes/pkg/scheduler/util" schedutil "k8s.io/kubernetes/pkg/scheduler/util"
@ -100,7 +99,7 @@ func calculateResourceAllocatableRequest(nodeInfo *framework.NodeInfo, pod *v1.P
case v1.ResourceEphemeralStorage: case v1.ResourceEphemeralStorage:
return nodeInfo.Allocatable.EphemeralStorage, (nodeInfo.Requested.EphemeralStorage + podRequest) return nodeInfo.Allocatable.EphemeralStorage, (nodeInfo.Requested.EphemeralStorage + podRequest)
default: default:
if v1helper.IsScalarResourceName(resource) { if schedutil.IsScalarResourceName(resource) {
return nodeInfo.Allocatable.ScalarResources[resource], (nodeInfo.Requested.ScalarResources[resource] + podRequest) return nodeInfo.Allocatable.ScalarResources[resource], (nodeInfo.Requested.ScalarResources[resource] + podRequest)
} }
} }

View File

@ -19,7 +19,11 @@ package framework
import ( import (
"errors" "errors"
"fmt" "fmt"
"k8s.io/api/core/v1" "sync"
"sync/atomic"
"time"
v1 "k8s.io/api/core/v1"
"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"
@ -29,9 +33,6 @@ import (
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
"k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/features"
schedutil "k8s.io/kubernetes/pkg/scheduler/util" schedutil "k8s.io/kubernetes/pkg/scheduler/util"
"sync"
"sync/atomic"
"time"
) )
var generation int64 var generation int64
@ -317,7 +318,7 @@ func (r *Resource) Add(rl v1.ResourceList) {
r.EphemeralStorage += rQuant.Value() r.EphemeralStorage += rQuant.Value()
} }
default: default:
if v1helper.IsScalarResourceName(rName) { if schedutil.IsScalarResourceName(rName) {
r.AddScalar(rName, rQuant.Value()) r.AddScalar(rName, rQuant.Value())
} }
} }
@ -394,7 +395,7 @@ func (r *Resource) SetMaxResource(rl v1.ResourceList) {
r.EphemeralStorage = ephemeralStorage r.EphemeralStorage = ephemeralStorage
} }
default: default:
if v1helper.IsScalarResourceName(rName) { if schedutil.IsScalarResourceName(rName) {
value := rQuantity.Value() value := rQuantity.Value()
if value > r.ScalarResources[rName] { if value > r.ScalarResources[rName] {
r.SetScalar(rName, value) r.SetScalar(rName, value)

View File

@ -19,7 +19,6 @@ package util
import ( import (
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
utilfeature "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature"
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
"k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/features"
) )
@ -73,7 +72,7 @@ func GetNonzeroRequestForResource(resource v1.ResourceName, requests *v1.Resourc
} }
return quantity.Value() return quantity.Value()
default: default:
if v1helper.IsScalarResourceName(resource) { if IsScalarResourceName(resource) {
quantity, found := (*requests)[resource] quantity, found := (*requests)[resource]
if !found { if !found {
return 0 return 0

View File

@ -31,6 +31,7 @@ import (
corev1helpers "k8s.io/component-helpers/scheduling/corev1" corev1helpers "k8s.io/component-helpers/scheduling/corev1"
"k8s.io/klog/v2" "k8s.io/klog/v2"
extenderv1 "k8s.io/kube-scheduler/extender/v1" 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. // 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) 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)
}