Merge pull request #69318 from wgliang/feature/move-fakecache

[scheduler cleanup phase 1]: Move FakeCache to pkg/scheduler/internal…
pull/58/head
k8s-ci-robot 2018-10-09 23:21:49 -07:00 committed by GitHub
commit d3fe0ea7ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 61 additions and 28 deletions

View File

@ -44,6 +44,7 @@ go_test(
"//pkg/scheduler/api:go_default_library", "//pkg/scheduler/api:go_default_library",
"//pkg/scheduler/core:go_default_library", "//pkg/scheduler/core:go_default_library",
"//pkg/scheduler/internal/cache:go_default_library", "//pkg/scheduler/internal/cache:go_default_library",
"//pkg/scheduler/internal/cache/fake:go_default_library",
"//pkg/scheduler/testing:go_default_library", "//pkg/scheduler/testing:go_default_library",
"//pkg/scheduler/volumebinder:go_default_library", "//pkg/scheduler/volumebinder:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library",

View File

@ -70,6 +70,7 @@ go_test(
"//pkg/scheduler/api:go_default_library", "//pkg/scheduler/api:go_default_library",
"//pkg/scheduler/api/latest:go_default_library", "//pkg/scheduler/api/latest:go_default_library",
"//pkg/scheduler/cache:go_default_library", "//pkg/scheduler/cache:go_default_library",
"//pkg/scheduler/internal/cache/fake:go_default_library",
"//pkg/scheduler/internal/queue:go_default_library", "//pkg/scheduler/internal/queue:go_default_library",
"//pkg/scheduler/testing:go_default_library", "//pkg/scheduler/testing:go_default_library",
"//pkg/scheduler/util:go_default_library", "//pkg/scheduler/util:go_default_library",

View File

@ -41,6 +41,7 @@ import (
schedulerapi "k8s.io/kubernetes/pkg/scheduler/api" schedulerapi "k8s.io/kubernetes/pkg/scheduler/api"
latestschedulerapi "k8s.io/kubernetes/pkg/scheduler/api/latest" latestschedulerapi "k8s.io/kubernetes/pkg/scheduler/api/latest"
schedulercache "k8s.io/kubernetes/pkg/scheduler/cache" schedulercache "k8s.io/kubernetes/pkg/scheduler/cache"
fakecache "k8s.io/kubernetes/pkg/scheduler/internal/cache/fake"
internalqueue "k8s.io/kubernetes/pkg/scheduler/internal/queue" internalqueue "k8s.io/kubernetes/pkg/scheduler/internal/queue"
schedulertesting "k8s.io/kubernetes/pkg/scheduler/testing" schedulertesting "k8s.io/kubernetes/pkg/scheduler/testing"
"k8s.io/kubernetes/pkg/scheduler/util" "k8s.io/kubernetes/pkg/scheduler/util"
@ -526,7 +527,7 @@ func TestSkipPodUpdate(t *testing.T) {
for _, test := range table { for _, test := range table {
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
c := &configFactory{ c := &configFactory{
schedulerCache: &schedulertesting.FakeCache{ schedulerCache: &fakecache.Cache{
IsAssumedPodFunc: test.isAssumedPodFunc, IsAssumedPodFunc: test.isAssumedPodFunc,
GetPodFunc: test.getPodFunc, GetPodFunc: test.getPodFunc,
}, },

View File

@ -53,7 +53,10 @@ filegroup(
filegroup( filegroup(
name = "all-srcs", name = "all-srcs",
srcs = [":package-srcs"], srcs = [
":package-srcs",
"//pkg/scheduler/internal/cache/fake:all-srcs",
],
tags = ["automanaged"], tags = ["automanaged"],
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
) )

28
pkg/scheduler/internal/cache/fake/BUILD vendored Normal file
View File

@ -0,0 +1,28 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = ["fake_cache.go"],
importpath = "k8s.io/kubernetes/pkg/scheduler/internal/cache/fake",
visibility = ["//pkg/scheduler:__subpackages__"],
deps = [
"//pkg/scheduler/cache:go_default_library",
"//pkg/scheduler/internal/cache:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package testing package fake
import ( import (
"k8s.io/api/core/v1" "k8s.io/api/core/v1"
@ -23,8 +23,8 @@ import (
schedulerinternalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache" schedulerinternalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache"
) )
// FakeCache is used for testing // Cache is used for testing
type FakeCache struct { type Cache struct {
AssumeFunc func(*v1.Pod) AssumeFunc func(*v1.Pod)
ForgetFunc func(*v1.Pod) ForgetFunc func(*v1.Pod)
IsAssumedPodFunc func(*v1.Pod) bool IsAssumedPodFunc func(*v1.Pod) bool
@ -32,65 +32,65 @@ type FakeCache struct {
} }
// AssumePod is a fake method for testing. // AssumePod is a fake method for testing.
func (f *FakeCache) AssumePod(pod *v1.Pod) error { func (c *Cache) AssumePod(pod *v1.Pod) error {
f.AssumeFunc(pod) c.AssumeFunc(pod)
return nil return nil
} }
// FinishBinding is a fake method for testing. // FinishBinding is a fake method for testing.
func (f *FakeCache) FinishBinding(pod *v1.Pod) error { return nil } func (c *Cache) FinishBinding(pod *v1.Pod) error { return nil }
// ForgetPod is a fake method for testing. // ForgetPod is a fake method for testing.
func (f *FakeCache) ForgetPod(pod *v1.Pod) error { func (c *Cache) ForgetPod(pod *v1.Pod) error {
f.ForgetFunc(pod) c.ForgetFunc(pod)
return nil return nil
} }
// AddPod is a fake method for testing. // AddPod is a fake method for testing.
func (f *FakeCache) AddPod(pod *v1.Pod) error { return nil } func (c *Cache) AddPod(pod *v1.Pod) error { return nil }
// UpdatePod is a fake method for testing. // UpdatePod is a fake method for testing.
func (f *FakeCache) UpdatePod(oldPod, newPod *v1.Pod) error { return nil } func (c *Cache) UpdatePod(oldPod, newPod *v1.Pod) error { return nil }
// RemovePod is a fake method for testing. // RemovePod is a fake method for testing.
func (f *FakeCache) RemovePod(pod *v1.Pod) error { return nil } func (c *Cache) RemovePod(pod *v1.Pod) error { return nil }
// IsAssumedPod is a fake method for testing. // IsAssumedPod is a fake method for testing.
func (f *FakeCache) IsAssumedPod(pod *v1.Pod) (bool, error) { func (c *Cache) IsAssumedPod(pod *v1.Pod) (bool, error) {
return f.IsAssumedPodFunc(pod), nil return c.IsAssumedPodFunc(pod), nil
} }
// GetPod is a fake method for testing. // GetPod is a fake method for testing.
func (f *FakeCache) GetPod(pod *v1.Pod) (*v1.Pod, error) { func (c *Cache) GetPod(pod *v1.Pod) (*v1.Pod, error) {
return f.GetPodFunc(pod), nil return c.GetPodFunc(pod), nil
} }
// AddNode is a fake method for testing. // AddNode is a fake method for testing.
func (f *FakeCache) AddNode(node *v1.Node) error { return nil } func (c *Cache) AddNode(node *v1.Node) error { return nil }
// UpdateNode is a fake method for testing. // UpdateNode is a fake method for testing.
func (f *FakeCache) UpdateNode(oldNode, newNode *v1.Node) error { return nil } func (c *Cache) UpdateNode(oldNode, newNode *v1.Node) error { return nil }
// RemoveNode is a fake method for testing. // RemoveNode is a fake method for testing.
func (f *FakeCache) RemoveNode(node *v1.Node) error { return nil } func (c *Cache) RemoveNode(node *v1.Node) error { return nil }
// UpdateNodeNameToInfoMap is a fake method for testing. // UpdateNodeNameToInfoMap is a fake method for testing.
func (f *FakeCache) UpdateNodeNameToInfoMap(infoMap map[string]*schedulercache.NodeInfo) error { func (c *Cache) UpdateNodeNameToInfoMap(infoMap map[string]*schedulercache.NodeInfo) error {
return nil return nil
} }
// List is a fake method for testing. // List is a fake method for testing.
func (f *FakeCache) List(s labels.Selector) ([]*v1.Pod, error) { return nil, nil } func (c *Cache) List(s labels.Selector) ([]*v1.Pod, error) { return nil, nil }
// FilteredList is a fake method for testing. // FilteredList is a fake method for testing.
func (f *FakeCache) FilteredList(filter schedulerinternalcache.PodFilter, selector labels.Selector) ([]*v1.Pod, error) { func (c *Cache) FilteredList(filter schedulerinternalcache.PodFilter, selector labels.Selector) ([]*v1.Pod, error) {
return nil, nil return nil, nil
} }
// Snapshot is a fake method for testing // Snapshot is a fake method for testing
func (f *FakeCache) Snapshot() *schedulerinternalcache.Snapshot { func (c *Cache) Snapshot() *schedulerinternalcache.Snapshot {
return &schedulerinternalcache.Snapshot{} return &schedulerinternalcache.Snapshot{}
} }
// NodeTree is a fake method for testing. // NodeTree is a fake method for testing.
func (f *FakeCache) NodeTree() *schedulerinternalcache.NodeTree { return nil } func (c *Cache) NodeTree() *schedulerinternalcache.NodeTree { return nil }

View File

@ -40,6 +40,7 @@ import (
"k8s.io/kubernetes/pkg/scheduler/api" "k8s.io/kubernetes/pkg/scheduler/api"
"k8s.io/kubernetes/pkg/scheduler/core" "k8s.io/kubernetes/pkg/scheduler/core"
schedulerinternalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache" schedulerinternalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache"
fakecache "k8s.io/kubernetes/pkg/scheduler/internal/cache/fake"
schedulertesting "k8s.io/kubernetes/pkg/scheduler/testing" schedulertesting "k8s.io/kubernetes/pkg/scheduler/testing"
"k8s.io/kubernetes/pkg/scheduler/volumebinder" "k8s.io/kubernetes/pkg/scheduler/volumebinder"
) )
@ -200,7 +201,7 @@ func TestScheduler(t *testing.T) {
var gotBinding *v1.Binding var gotBinding *v1.Binding
configurator := &FakeConfigurator{ configurator := &FakeConfigurator{
Config: &Config{ Config: &Config{
SchedulerCache: &schedulertesting.FakeCache{ SchedulerCache: &fakecache.Cache{
ForgetFunc: func(pod *v1.Pod) { ForgetFunc: func(pod *v1.Pod) {
gotForgetPod = pod gotForgetPod = pod
}, },

View File

@ -9,7 +9,6 @@ load(
go_library( go_library(
name = "go_default_library", name = "go_default_library",
srcs = [ srcs = [
"fake_cache.go",
"fake_lister.go", "fake_lister.go",
"util.go", "util.go",
], ],
@ -19,7 +18,6 @@ go_library(
"//pkg/apis/core:go_default_library", "//pkg/apis/core:go_default_library",
"//pkg/apis/core/install:go_default_library", "//pkg/apis/core/install:go_default_library",
"//pkg/scheduler/algorithm:go_default_library", "//pkg/scheduler/algorithm:go_default_library",
"//pkg/scheduler/cache:go_default_library",
"//pkg/scheduler/internal/cache:go_default_library", "//pkg/scheduler/internal/cache:go_default_library",
"//staging/src/k8s.io/api/apps/v1:go_default_library", "//staging/src/k8s.io/api/apps/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library",