From 104e368860ad843bd3ea95c164c516b5255a5057 Mon Sep 17 00:00:00 2001 From: Ahmad Diaa Date: Mon, 16 Sep 2019 04:06:41 +0200 Subject: [PATCH] remove factory.NewConfigFactory in compatibility test --- pkg/scheduler/api/compatibility/BUILD | 9 +-- .../api/compatibility/compatibility_test.go | 69 +++++++++++-------- 2 files changed, 44 insertions(+), 34 deletions(-) diff --git a/pkg/scheduler/api/compatibility/BUILD b/pkg/scheduler/api/compatibility/BUILD index 810e0b3115f..2442cfceb4f 100644 --- a/pkg/scheduler/api/compatibility/BUILD +++ b/pkg/scheduler/api/compatibility/BUILD @@ -5,18 +5,19 @@ go_test( srcs = ["compatibility_test.go"], deps = [ "//pkg/apis/core/install:go_default_library", + "//pkg/scheduler:go_default_library", "//pkg/scheduler/algorithmprovider/defaults:go_default_library", "//pkg/scheduler/api:go_default_library", "//pkg/scheduler/api/latest:go_default_library", + "//pkg/scheduler/apis/config:go_default_library", "//pkg/scheduler/factory:go_default_library", + "//pkg/scheduler/framework/plugins:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//staging/src/k8s.io/client-go/informers:go_default_library", - "//staging/src/k8s.io/client-go/kubernetes:go_default_library", - "//staging/src/k8s.io/client-go/rest:go_default_library", - "//staging/src/k8s.io/client-go/util/testing:go_default_library", + "//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library", ], ) diff --git a/pkg/scheduler/api/compatibility/compatibility_test.go b/pkg/scheduler/api/compatibility/compatibility_test.go index bda07434123..902ac57eba2 100644 --- a/pkg/scheduler/api/compatibility/compatibility_test.go +++ b/pkg/scheduler/api/compatibility/compatibility_test.go @@ -18,23 +18,24 @@ package compatibility import ( "fmt" - "net/http/httptest" "reflect" "testing" v1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/client-go/informers" - clientset "k8s.io/client-go/kubernetes" - restclient "k8s.io/client-go/rest" - utiltesting "k8s.io/client-go/util/testing" + "k8s.io/client-go/kubernetes/fake" _ "k8s.io/kubernetes/pkg/apis/core/install" + "k8s.io/kubernetes/pkg/scheduler" _ "k8s.io/kubernetes/pkg/scheduler/algorithmprovider/defaults" schedulerapi "k8s.io/kubernetes/pkg/scheduler/api" latestschedulerapi "k8s.io/kubernetes/pkg/scheduler/api/latest" + kubeschedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config" + schedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config" "k8s.io/kubernetes/pkg/scheduler/factory" + schedulerframework "k8s.io/kubernetes/pkg/scheduler/framework/plugins" ) func TestCompatibility_v1_Scheduler(t *testing.T) { @@ -1218,34 +1219,42 @@ func TestCompatibility_v1_Scheduler(t *testing.T) { if !reflect.DeepEqual(policy, tc.ExpectedPolicy) { t.Errorf("%s: Expected:\n\t%#v\nGot:\n\t%#v", v, tc.ExpectedPolicy, policy) } - - handler := utiltesting.FakeHandler{ - StatusCode: 500, - ResponseBody: "", - T: t, + policyConfigMap := v1.ConfigMap{ + ObjectMeta: metav1.ObjectMeta{Namespace: metav1.NamespaceSystem, Name: "scheduler-custom-policy-config"}, + Data: map[string]string{schedulerconfig.SchedulerPolicyConfigMapKey: tc.JSON}, + } + policyConfigMap.APIVersion = "v1" + client := fake.NewSimpleClientset(&policyConfigMap) + algorithmSrc := schedulerconfig.SchedulerAlgorithmSource{ + Policy: &schedulerconfig.SchedulerPolicySource{ + ConfigMap: &kubeschedulerconfig.SchedulerPolicyConfigMapSource{ + Namespace: policyConfigMap.Namespace, + Name: policyConfigMap.Name, + }, + }, } - server := httptest.NewServer(&handler) - defer server.Close() - client := clientset.NewForConfigOrDie(&restclient.Config{Host: server.URL, ContentConfig: restclient.ContentConfig{GroupVersion: &schema.GroupVersion{Group: "", Version: "v1"}}}) informerFactory := informers.NewSharedInformerFactory(client, 0) - if _, err := factory.NewConfigFactory(&factory.ConfigFactoryArgs{ - Client: client, - NodeInformer: informerFactory.Core().V1().Nodes(), - PodInformer: informerFactory.Core().V1().Pods(), - PvInformer: informerFactory.Core().V1().PersistentVolumes(), - PvcInformer: informerFactory.Core().V1().PersistentVolumeClaims(), - ReplicationControllerInformer: informerFactory.Core().V1().ReplicationControllers(), - ReplicaSetInformer: informerFactory.Apps().V1().ReplicaSets(), - StatefulSetInformer: informerFactory.Apps().V1().StatefulSets(), - ServiceInformer: informerFactory.Core().V1().Services(), - PdbInformer: informerFactory.Policy().V1beta1().PodDisruptionBudgets(), - StorageClassInformer: informerFactory.Storage().V1().StorageClasses(), - CSINodeInformer: informerFactory.Storage().V1beta1().CSINodes(), - HardPodAffinitySymmetricWeight: v1.DefaultHardPodAffinitySymmetricWeight, - DisablePreemption: false, - PercentageOfNodesToScore: schedulerapi.DefaultPercentageOfNodesToScore, - }).CreateFromConfig(policy); err != nil { + if _, err := scheduler.New( + client, + informerFactory.Core().V1().Nodes(), + informerFactory.Core().V1().Pods(), + informerFactory.Core().V1().PersistentVolumes(), + informerFactory.Core().V1().PersistentVolumeClaims(), + informerFactory.Core().V1().ReplicationControllers(), + informerFactory.Apps().V1().ReplicaSets(), + informerFactory.Apps().V1().StatefulSets(), + informerFactory.Core().V1().Services(), + informerFactory.Policy().V1beta1().PodDisruptionBudgets(), + informerFactory.Storage().V1().StorageClasses(), + informerFactory.Storage().V1beta1().CSINodes(), + nil, + algorithmSrc, + make(chan struct{}), + schedulerframework.NewDefaultRegistry(), + nil, + []kubeschedulerconfig.PluginConfig{}, + ); err != nil { t.Errorf("%s: Error constructing: %v", v, err) continue }