From 558e1960b8a2b4c1508f0495987fa8a913ee4527 Mon Sep 17 00:00:00 2001 From: Guoliang Wang Date: Tue, 2 Oct 2018 11:58:03 +0800 Subject: [PATCH] [scheduler cleanup phase 1]: Move FakeCache to pkg/scheduler/internal/cache/fake --- pkg/scheduler/BUILD | 1 + pkg/scheduler/factory/BUILD | 1 + pkg/scheduler/factory/factory_test.go | 3 +- pkg/scheduler/internal/cache/BUILD | 5 +- pkg/scheduler/internal/cache/fake/BUILD | 28 +++++++++++ .../cache/fake}/fake_cache.go | 46 +++++++++---------- pkg/scheduler/scheduler_test.go | 3 +- pkg/scheduler/testing/BUILD | 2 - 8 files changed, 61 insertions(+), 28 deletions(-) create mode 100644 pkg/scheduler/internal/cache/fake/BUILD rename pkg/scheduler/{testing => internal/cache/fake}/fake_cache.go (57%) diff --git a/pkg/scheduler/BUILD b/pkg/scheduler/BUILD index e8a336120a..fbeefee1ee 100644 --- a/pkg/scheduler/BUILD +++ b/pkg/scheduler/BUILD @@ -44,6 +44,7 @@ go_test( "//pkg/scheduler/api:go_default_library", "//pkg/scheduler/core: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/volumebinder:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", diff --git a/pkg/scheduler/factory/BUILD b/pkg/scheduler/factory/BUILD index e4d2c4183f..fe8aaac867 100644 --- a/pkg/scheduler/factory/BUILD +++ b/pkg/scheduler/factory/BUILD @@ -70,6 +70,7 @@ go_test( "//pkg/scheduler/api:go_default_library", "//pkg/scheduler/api/latest: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/testing:go_default_library", "//pkg/scheduler/util:go_default_library", diff --git a/pkg/scheduler/factory/factory_test.go b/pkg/scheduler/factory/factory_test.go index d9fc655d73..6500db194e 100644 --- a/pkg/scheduler/factory/factory_test.go +++ b/pkg/scheduler/factory/factory_test.go @@ -41,6 +41,7 @@ import ( schedulerapi "k8s.io/kubernetes/pkg/scheduler/api" latestschedulerapi "k8s.io/kubernetes/pkg/scheduler/api/latest" schedulercache "k8s.io/kubernetes/pkg/scheduler/cache" + fakecache "k8s.io/kubernetes/pkg/scheduler/internal/cache/fake" internalqueue "k8s.io/kubernetes/pkg/scheduler/internal/queue" schedulertesting "k8s.io/kubernetes/pkg/scheduler/testing" "k8s.io/kubernetes/pkg/scheduler/util" @@ -526,7 +527,7 @@ func TestSkipPodUpdate(t *testing.T) { for _, test := range table { t.Run(test.name, func(t *testing.T) { c := &configFactory{ - schedulerCache: &schedulertesting.FakeCache{ + schedulerCache: &fakecache.Cache{ IsAssumedPodFunc: test.isAssumedPodFunc, GetPodFunc: test.getPodFunc, }, diff --git a/pkg/scheduler/internal/cache/BUILD b/pkg/scheduler/internal/cache/BUILD index a573dfabb9..054baa1af4 100644 --- a/pkg/scheduler/internal/cache/BUILD +++ b/pkg/scheduler/internal/cache/BUILD @@ -53,7 +53,10 @@ filegroup( filegroup( name = "all-srcs", - srcs = [":package-srcs"], + srcs = [ + ":package-srcs", + "//pkg/scheduler/internal/cache/fake:all-srcs", + ], tags = ["automanaged"], visibility = ["//visibility:public"], ) diff --git a/pkg/scheduler/internal/cache/fake/BUILD b/pkg/scheduler/internal/cache/fake/BUILD new file mode 100644 index 0000000000..ba642f5ea7 --- /dev/null +++ b/pkg/scheduler/internal/cache/fake/BUILD @@ -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"], +) diff --git a/pkg/scheduler/testing/fake_cache.go b/pkg/scheduler/internal/cache/fake/fake_cache.go similarity index 57% rename from pkg/scheduler/testing/fake_cache.go rename to pkg/scheduler/internal/cache/fake/fake_cache.go index 91a1402a1d..82419e9600 100644 --- a/pkg/scheduler/testing/fake_cache.go +++ b/pkg/scheduler/internal/cache/fake/fake_cache.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package testing +package fake import ( "k8s.io/api/core/v1" @@ -23,8 +23,8 @@ import ( schedulerinternalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache" ) -// FakeCache is used for testing -type FakeCache struct { +// Cache is used for testing +type Cache struct { AssumeFunc func(*v1.Pod) ForgetFunc func(*v1.Pod) IsAssumedPodFunc func(*v1.Pod) bool @@ -32,65 +32,65 @@ type FakeCache struct { } // AssumePod is a fake method for testing. -func (f *FakeCache) AssumePod(pod *v1.Pod) error { - f.AssumeFunc(pod) +func (c *Cache) AssumePod(pod *v1.Pod) error { + c.AssumeFunc(pod) return nil } // 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. -func (f *FakeCache) ForgetPod(pod *v1.Pod) error { - f.ForgetFunc(pod) +func (c *Cache) ForgetPod(pod *v1.Pod) error { + c.ForgetFunc(pod) return nil } // 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. -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. -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. -func (f *FakeCache) IsAssumedPod(pod *v1.Pod) (bool, error) { - return f.IsAssumedPodFunc(pod), nil +func (c *Cache) IsAssumedPod(pod *v1.Pod) (bool, error) { + return c.IsAssumedPodFunc(pod), nil } // GetPod is a fake method for testing. -func (f *FakeCache) GetPod(pod *v1.Pod) (*v1.Pod, error) { - return f.GetPodFunc(pod), nil +func (c *Cache) GetPod(pod *v1.Pod) (*v1.Pod, error) { + return c.GetPodFunc(pod), nil } // 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. -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. -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. -func (f *FakeCache) UpdateNodeNameToInfoMap(infoMap map[string]*schedulercache.NodeInfo) error { +func (c *Cache) UpdateNodeNameToInfoMap(infoMap map[string]*schedulercache.NodeInfo) error { return nil } // 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. -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 } // Snapshot is a fake method for testing -func (f *FakeCache) Snapshot() *schedulerinternalcache.Snapshot { +func (c *Cache) Snapshot() *schedulerinternalcache.Snapshot { return &schedulerinternalcache.Snapshot{} } // NodeTree is a fake method for testing. -func (f *FakeCache) NodeTree() *schedulerinternalcache.NodeTree { return nil } +func (c *Cache) NodeTree() *schedulerinternalcache.NodeTree { return nil } diff --git a/pkg/scheduler/scheduler_test.go b/pkg/scheduler/scheduler_test.go index 3bd608b9cd..e7865dfa5a 100644 --- a/pkg/scheduler/scheduler_test.go +++ b/pkg/scheduler/scheduler_test.go @@ -40,6 +40,7 @@ import ( "k8s.io/kubernetes/pkg/scheduler/api" "k8s.io/kubernetes/pkg/scheduler/core" schedulerinternalcache "k8s.io/kubernetes/pkg/scheduler/internal/cache" + fakecache "k8s.io/kubernetes/pkg/scheduler/internal/cache/fake" schedulertesting "k8s.io/kubernetes/pkg/scheduler/testing" "k8s.io/kubernetes/pkg/scheduler/volumebinder" ) @@ -200,7 +201,7 @@ func TestScheduler(t *testing.T) { var gotBinding *v1.Binding configurator := &FakeConfigurator{ Config: &Config{ - SchedulerCache: &schedulertesting.FakeCache{ + SchedulerCache: &fakecache.Cache{ ForgetFunc: func(pod *v1.Pod) { gotForgetPod = pod }, diff --git a/pkg/scheduler/testing/BUILD b/pkg/scheduler/testing/BUILD index a5b353f2e3..91acca08c5 100644 --- a/pkg/scheduler/testing/BUILD +++ b/pkg/scheduler/testing/BUILD @@ -9,7 +9,6 @@ load( go_library( name = "go_default_library", srcs = [ - "fake_cache.go", "fake_lister.go", "util.go", ], @@ -19,7 +18,6 @@ go_library( "//pkg/apis/core:go_default_library", "//pkg/apis/core/install:go_default_library", "//pkg/scheduler/algorithm:go_default_library", - "//pkg/scheduler/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/core/v1:go_default_library",