mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-13 11:25:19 +00:00
Break volumebinding Filter plugins dependency on predicates package
This commit is contained in:
@@ -20,7 +20,6 @@ import (
|
||||
"context"
|
||||
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
|
||||
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
|
||||
schedulernodeinfo "k8s.io/kubernetes/pkg/scheduler/nodeinfo"
|
||||
"k8s.io/kubernetes/pkg/scheduler/volumebinder"
|
||||
@@ -36,6 +35,13 @@ var _ framework.FilterPlugin = &VolumeBinding{}
|
||||
// Name is the name of the plugin used in Registry and configurations.
|
||||
const Name = "VolumeBinding"
|
||||
|
||||
const (
|
||||
// ErrReasonBindConflict is used for VolumeBindingNoMatch predicate error.
|
||||
ErrReasonBindConflict = "node(s) didn't find available persistent volumes to bind"
|
||||
// ErrReasonNodeConflict is used for VolumeNodeAffinityConflict predicate error.
|
||||
ErrReasonNodeConflict = "node(s) had volume node affinity conflict"
|
||||
)
|
||||
|
||||
// Name returns name of the plugin. It is used in logs, etc.
|
||||
func (pl *VolumeBinding) Name() string {
|
||||
return Name
|
||||
@@ -81,10 +87,10 @@ func (pl *VolumeBinding) Filter(ctx context.Context, cs *framework.CycleState, p
|
||||
if !boundSatisfied || !unboundSatisfied {
|
||||
status := framework.NewStatus(framework.UnschedulableAndUnresolvable)
|
||||
if !boundSatisfied {
|
||||
status.AppendReason(predicates.ErrVolumeNodeConflict.GetReason())
|
||||
status.AppendReason(ErrReasonNodeConflict)
|
||||
}
|
||||
if !unboundSatisfied {
|
||||
status.AppendReason(predicates.ErrVolumeBindConflict.GetReason())
|
||||
status.AppendReason(ErrReasonBindConflict)
|
||||
}
|
||||
return status
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user