scheduler/volumebinding: move all volume binding logic into VolumeBinding plugin

This commit is contained in:
Yecheng Fu
2020-05-11 13:21:43 +08:00
parent ba3bf32300
commit c14b749521
17 changed files with 602 additions and 121 deletions

View File

@@ -37,6 +37,7 @@ import (
"k8s.io/client-go/tools/events"
extenderv1 "k8s.io/kube-scheduler/extender/v1"
apicore "k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/scheduler/apis/config"
schedulerapi "k8s.io/kubernetes/pkg/scheduler/apis/config"
"k8s.io/kubernetes/pkg/scheduler/apis/config/scheme"
frameworkplugins "k8s.io/kubernetes/pkg/scheduler/framework/plugins"
@@ -45,6 +46,7 @@ import (
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/nodelabel"
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/queuesort"
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/serviceaffinity"
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding"
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
internalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalqueue "k8s.io/kubernetes/pkg/scheduler/internal/queue"
@@ -241,8 +243,16 @@ func TestCreateFromEmptyConfig(t *testing.T) {
t.Fatal(err)
}
prof := factory.profiles[0]
if len(prof.PluginConfig) != 0 {
t.Errorf("got plugin config %s, want none", prof.PluginConfig)
wantConfig := []schedulerapi.PluginConfig{
{
Name: volumebinding.Name,
Args: &config.VolumeBindingArgs{
BindTimeoutSeconds: bindTimeoutSeconds,
},
},
}
if diff := cmp.Diff(wantConfig, prof.PluginConfig); diff != "" {
t.Errorf("wrong plugin config (-want, +got): %s", diff)
}
}