From 44752e5e8310e29f5a81379d6aede3f1813c2680 Mon Sep 17 00:00:00 2001 From: Avesh Agarwal Date: Mon, 8 Jan 2018 17:35:44 -0500 Subject: [PATCH] Update code and hack dir for kube 1.9 rebase. --- cmd/descheduler/app/options/options.go | 2 +- hack/update-generated-conversions.sh | 2 +- hack/update-generated-deep-copies.sh | 2 +- hack/update-generated-defaulters.sh | 2 +- pkg/api/install/install.go | 1 - pkg/api/types.go | 4 +++- pkg/api/v1alpha1/types.go | 4 +++- pkg/apis/componentconfig/install/install.go | 1 - pkg/apis/componentconfig/types.go | 2 ++ pkg/apis/componentconfig/v1alpha1/types.go | 2 ++ pkg/descheduler/client/client.go | 2 +- pkg/descheduler/evictions/evictions.go | 6 +++--- pkg/descheduler/evictions/evictions_test.go | 4 ++-- pkg/descheduler/evictions/utils/utils.go | 2 +- pkg/descheduler/node/node.go | 8 ++++---- pkg/descheduler/node/node_test.go | 4 ++-- pkg/descheduler/pod/pods.go | 8 ++++---- pkg/descheduler/pod/pods_test.go | 2 +- pkg/descheduler/strategies/duplicates.go | 5 ++--- pkg/descheduler/strategies/duplicates_test.go | 4 ++-- pkg/descheduler/strategies/lownodeutilization.go | 10 +++------- .../strategies/lownodeutilization_test.go | 4 ++-- pkg/descheduler/strategies/pod_antiaffinity.go | 13 ++++++------- pkg/descheduler/strategies/pod_antiaffinity_test.go | 4 ++-- test/test_utils.go | 2 +- 25 files changed, 50 insertions(+), 50 deletions(-) diff --git a/cmd/descheduler/app/options/options.go b/cmd/descheduler/app/options/options.go index 8a1b3929e..9d7dd2dfe 100644 --- a/cmd/descheduler/app/options/options.go +++ b/cmd/descheduler/app/options/options.go @@ -18,7 +18,7 @@ limitations under the License. package options import ( - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" + clientset "k8s.io/client-go/kubernetes" // install the componentconfig api so we get its defaulting and conversion functions "github.com/kubernetes-incubator/descheduler/pkg/apis/componentconfig" diff --git a/hack/update-generated-conversions.sh b/hack/update-generated-conversions.sh index 2fc6b2838..9f8515da7 100755 --- a/hack/update-generated-conversions.sh +++ b/hack/update-generated-conversions.sh @@ -1,7 +1,7 @@ #!/bin/bash source "$(dirname "${BASH_SOURCE}")/lib/init.sh" -go build -o "${OS_OUTPUT_BINPATH}/conversion-gen" "${PRJ_PREFIX}/vendor/k8s.io/kubernetes/cmd/libs/go2idl/conversion-gen" +go build -o "${OS_OUTPUT_BINPATH}/conversion-gen" "${PRJ_PREFIX}/vendor/k8s.io/code-generator/cmd/conversion-gen" ${OS_OUTPUT_BINPATH}/conversion-gen \ --go-header-file "hack/boilerplate/boilerplate.go.txt" \ diff --git a/hack/update-generated-deep-copies.sh b/hack/update-generated-deep-copies.sh index 95b3919a7..a399330f8 100755 --- a/hack/update-generated-deep-copies.sh +++ b/hack/update-generated-deep-copies.sh @@ -1,7 +1,7 @@ #!/bin/bash source "$(dirname "${BASH_SOURCE}")/lib/init.sh" -go build -o "${OS_OUTPUT_BINPATH}/deepcopy-gen" "${PRJ_PREFIX}/vendor/k8s.io/kubernetes/cmd/libs/go2idl/deepcopy-gen" +go build -o "${OS_OUTPUT_BINPATH}/deepcopy-gen" "${PRJ_PREFIX}/vendor/k8s.io/code-generator/cmd/deepcopy-gen" ${OS_OUTPUT_BINPATH}/deepcopy-gen \ --go-header-file "hack/boilerplate/boilerplate.go.txt" \ diff --git a/hack/update-generated-defaulters.sh b/hack/update-generated-defaulters.sh index 31528fe03..0d60da595 100755 --- a/hack/update-generated-defaulters.sh +++ b/hack/update-generated-defaulters.sh @@ -1,7 +1,7 @@ #!/bin/bash source "$(dirname "${BASH_SOURCE}")/lib/init.sh" -go build -o "${OS_OUTPUT_BINPATH}/defaulter-gen" "${PRJ_PREFIX}/vendor/k8s.io/kubernetes/cmd/libs/go2idl/defaulter-gen" +go build -o "${OS_OUTPUT_BINPATH}/defaulter-gen" "${PRJ_PREFIX}/vendor/k8s.io/code-generator/cmd/defaulter-gen" ${OS_OUTPUT_BINPATH}/defaulter-gen \ --go-header-file "hack/boilerplate/boilerplate.go.txt" \ diff --git a/pkg/api/install/install.go b/pkg/api/install/install.go index ba8948377..d1964ecc4 100644 --- a/pkg/api/install/install.go +++ b/pkg/api/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: deschedulerapi.GroupName, VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "github.com/kubernetes-incubator/descheduler/pkg/api", AddInternalObjectsToScheme: deschedulerapi.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/pkg/api/types.go b/pkg/api/types.go index eff7fc661..1f99f42a0 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -17,10 +17,12 @@ limitations under the License. package api import ( + "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/v1" ) +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + type DeschedulerPolicy struct { metav1.TypeMeta diff --git a/pkg/api/v1alpha1/types.go b/pkg/api/v1alpha1/types.go index 9f8383ff2..97034544f 100644 --- a/pkg/api/v1alpha1/types.go +++ b/pkg/api/v1alpha1/types.go @@ -17,10 +17,12 @@ limitations under the License. package v1alpha1 import ( + "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/v1" ) +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + type DeschedulerPolicy struct { metav1.TypeMeta `json:",inline"` diff --git a/pkg/apis/componentconfig/install/install.go b/pkg/apis/componentconfig/install/install.go index d0da29232..841eabbee 100644 --- a/pkg/apis/componentconfig/install/install.go +++ b/pkg/apis/componentconfig/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: componentconfig.GroupName, VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "github.com/kubernetes-incubator/descheduler/pkg/apis/componentconfig", AddInternalObjectsToScheme: componentconfig.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/pkg/apis/componentconfig/types.go b/pkg/apis/componentconfig/types.go index f2df250a9..900980d16 100644 --- a/pkg/apis/componentconfig/types.go +++ b/pkg/apis/componentconfig/types.go @@ -22,6 +22,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + type DeschedulerConfiguration struct { metav1.TypeMeta diff --git a/pkg/apis/componentconfig/v1alpha1/types.go b/pkg/apis/componentconfig/v1alpha1/types.go index 97363dab2..d6960c325 100644 --- a/pkg/apis/componentconfig/v1alpha1/types.go +++ b/pkg/apis/componentconfig/v1alpha1/types.go @@ -22,6 +22,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + type DeschedulerConfiguration struct { metav1.TypeMeta `json:",inline"` diff --git a/pkg/descheduler/client/client.go b/pkg/descheduler/client/client.go index d6206602a..01632ebeb 100644 --- a/pkg/descheduler/client/client.go +++ b/pkg/descheduler/client/client.go @@ -19,9 +19,9 @@ package client import ( "fmt" + clientset "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" ) func CreateClient(kubeconfig string) (clientset.Interface, error) { diff --git a/pkg/descheduler/evictions/evictions.go b/pkg/descheduler/evictions/evictions.go index 1aa818eae..1be6b35ac 100644 --- a/pkg/descheduler/evictions/evictions.go +++ b/pkg/descheduler/evictions/evictions.go @@ -19,11 +19,11 @@ package evictions import ( "fmt" + "k8s.io/api/core/v1" + policy "k8s.io/api/policy/v1beta1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/v1" - policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1" - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" + clientset "k8s.io/client-go/kubernetes" eutils "github.com/kubernetes-incubator/descheduler/pkg/descheduler/evictions/utils" ) diff --git a/pkg/descheduler/evictions/evictions_test.go b/pkg/descheduler/evictions/evictions_test.go index bf31b4c1f..3cd1ff0b1 100644 --- a/pkg/descheduler/evictions/evictions_test.go +++ b/pkg/descheduler/evictions/evictions_test.go @@ -18,10 +18,10 @@ package evictions import ( "github.com/kubernetes-incubator/descheduler/test" + "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/fake" core "k8s.io/client-go/testing" - "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "testing" ) diff --git a/pkg/descheduler/evictions/utils/utils.go b/pkg/descheduler/evictions/utils/utils.go index fc1966239..68ca25a8c 100644 --- a/pkg/descheduler/evictions/utils/utils.go +++ b/pkg/descheduler/evictions/utils/utils.go @@ -17,7 +17,7 @@ limitations under the License. package utils import ( - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" + clientset "k8s.io/client-go/kubernetes" ) const ( diff --git a/pkg/descheduler/node/node.go b/pkg/descheduler/node/node.go index 94de37740..ccbb78877 100644 --- a/pkg/descheduler/node/node.go +++ b/pkg/descheduler/node/node.go @@ -20,13 +20,13 @@ import ( "time" "github.com/golang/glog" + "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" + clientset "k8s.io/client-go/kubernetes" + corelisters "k8s.io/client-go/listers/core/v1" "k8s.io/client-go/tools/cache" - "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - corelisters "k8s.io/kubernetes/pkg/client/listers/core/v1" ) // ReadyNodes returns ready nodes irrespective of whether they are @@ -81,7 +81,7 @@ func GetNodeLister(client clientset.Interface, stopChannel <-chan struct{}) core store := cache.NewIndexer(cache.MetaNamespaceKeyFunc, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}) nodeLister := corelisters.NewNodeLister(store) reflector := cache.NewReflector(listWatcher, &v1.Node{}, store, time.Hour) - reflector.RunUntil(stopChannel) + go reflector.Run(stopChannel) // To give some time so that listing works, chosen randomly time.Sleep(100 * time.Millisecond) diff --git a/pkg/descheduler/node/node_test.go b/pkg/descheduler/node/node_test.go index cb444559e..543ef18e8 100644 --- a/pkg/descheduler/node/node_test.go +++ b/pkg/descheduler/node/node_test.go @@ -20,8 +20,8 @@ import ( "testing" "github.com/kubernetes-incubator/descheduler/test" - "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" + "k8s.io/api/core/v1" + "k8s.io/client-go/kubernetes/fake" ) func TestReadyNodes(t *testing.T) { diff --git a/pkg/descheduler/pod/pods.go b/pkg/descheduler/pod/pods.go index 521a598e1..84508fbbd 100644 --- a/pkg/descheduler/pod/pods.go +++ b/pkg/descheduler/pod/pods.go @@ -17,12 +17,12 @@ limitations under the License. package pod import ( + "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" - "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/api/v1/helper/qos" - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" + clientset "k8s.io/client-go/kubernetes" + api "k8s.io/kubernetes/pkg/apis/core" + "k8s.io/kubernetes/pkg/apis/core/v1/helper/qos" "k8s.io/kubernetes/pkg/kubelet/types" ) diff --git a/pkg/descheduler/pod/pods_test.go b/pkg/descheduler/pod/pods_test.go index fe31c949e..25a51dbd3 100644 --- a/pkg/descheduler/pod/pods_test.go +++ b/pkg/descheduler/pod/pods_test.go @@ -20,8 +20,8 @@ import ( "testing" "github.com/kubernetes-incubator/descheduler/test" + "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" - "k8s.io/kubernetes/pkg/api/v1" ) func TestPodTypes(t *testing.T) { diff --git a/pkg/descheduler/strategies/duplicates.go b/pkg/descheduler/strategies/duplicates.go index 6911f2e71..c1e7bd64f 100644 --- a/pkg/descheduler/strategies/duplicates.go +++ b/pkg/descheduler/strategies/duplicates.go @@ -20,9 +20,8 @@ import ( "github.com/golang/glog" "strings" - "k8s.io/kubernetes/pkg/api/v1" - //TODO: Change to client-go instead of generated clientset. - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" + "k8s.io/api/core/v1" + clientset "k8s.io/client-go/kubernetes" "github.com/kubernetes-incubator/descheduler/cmd/descheduler/app/options" "github.com/kubernetes-incubator/descheduler/pkg/api" diff --git a/pkg/descheduler/strategies/duplicates_test.go b/pkg/descheduler/strategies/duplicates_test.go index 81df9a6c1..d077888c4 100644 --- a/pkg/descheduler/strategies/duplicates_test.go +++ b/pkg/descheduler/strategies/duplicates_test.go @@ -20,11 +20,11 @@ import ( "testing" "github.com/kubernetes-incubator/descheduler/test" + "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/fake" core "k8s.io/client-go/testing" - "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" ) //TODO:@ravisantoshgudimetla This could be made table driven. diff --git a/pkg/descheduler/strategies/lownodeutilization.go b/pkg/descheduler/strategies/lownodeutilization.go index ee7659ee9..8868eb4d4 100644 --- a/pkg/descheduler/strategies/lownodeutilization.go +++ b/pkg/descheduler/strategies/lownodeutilization.go @@ -20,10 +20,10 @@ import ( "sort" "github.com/golang/glog" + "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" - "k8s.io/kubernetes/pkg/api/v1" + clientset "k8s.io/client-go/kubernetes" helper "k8s.io/kubernetes/pkg/api/v1/resource" - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "github.com/kubernetes-incubator/descheduler/cmd/descheduler/app/options" "github.com/kubernetes-incubator/descheduler/pkg/api" @@ -327,11 +327,7 @@ func NodeUtilization(node *v1.Node, pods []*v1.Pod) (api.ResourceThresholds, []* gPods = append(gPods, pod) } - req, _, err := helper.PodRequestsAndLimits(pod) - if err != nil { - glog.Warningf("Error computing resource usage of pod, ignoring: %#v", pod.Name) - continue - } + req, _ := helper.PodRequestsAndLimits(pod) for name, quantity := range req { if name == v1.ResourceCPU || name == v1.ResourceMemory { if value, ok := totalReqs[name]; !ok { diff --git a/pkg/descheduler/strategies/lownodeutilization_test.go b/pkg/descheduler/strategies/lownodeutilization_test.go index 8cc41d0c6..4c68d0f0d 100644 --- a/pkg/descheduler/strategies/lownodeutilization_test.go +++ b/pkg/descheduler/strategies/lownodeutilization_test.go @@ -23,11 +23,11 @@ import ( "github.com/kubernetes-incubator/descheduler/pkg/api" "github.com/kubernetes-incubator/descheduler/test" + "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/fake" core "k8s.io/client-go/testing" - "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" ) // TODO: Make this table driven. diff --git a/pkg/descheduler/strategies/pod_antiaffinity.go b/pkg/descheduler/strategies/pod_antiaffinity.go index bb387a08b..a9f76b910 100644 --- a/pkg/descheduler/strategies/pod_antiaffinity.go +++ b/pkg/descheduler/strategies/pod_antiaffinity.go @@ -19,16 +19,15 @@ package strategies import ( "github.com/kubernetes-incubator/descheduler/cmd/descheduler/app/options" "github.com/kubernetes-incubator/descheduler/pkg/api" - "k8s.io/kubernetes/pkg/api/v1" - - "github.com/golang/glog" "github.com/kubernetes-incubator/descheduler/pkg/descheduler/evictions" podutil "github.com/kubernetes-incubator/descheduler/pkg/descheduler/pod" + + "github.com/golang/glog" + + "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - //TODO: Change to client-go instead of generated clientset. - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" + clientset "k8s.io/client-go/kubernetes" priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util" - "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" ) // RemovePodsViolatingInterPodAntiAffinity with elimination strategy @@ -72,7 +71,7 @@ func removePodsWithAffinityRules(client clientset.Interface, policyGroupVersion // checkPodsWithAntiAffinityExist checks if there are other pods on the node that the current pod cannot tolerate. func checkPodsWithAntiAffinityExist(pod *v1.Pod, pods []*v1.Pod) bool { - affinity := schedulercache.ReconcileAffinity(pod) + affinity := pod.Spec.Affinity if affinity != nil && affinity.PodAntiAffinity != nil { for _, term := range getPodAntiAffinityTerms(affinity.PodAntiAffinity) { namespaces := priorityutil.GetNamespacesFromPodAffinityTerm(pod, &term) diff --git a/pkg/descheduler/strategies/pod_antiaffinity_test.go b/pkg/descheduler/strategies/pod_antiaffinity_test.go index cb0375522..c74fcbdcd 100644 --- a/pkg/descheduler/strategies/pod_antiaffinity_test.go +++ b/pkg/descheduler/strategies/pod_antiaffinity_test.go @@ -20,11 +20,11 @@ import ( "testing" "github.com/kubernetes-incubator/descheduler/test" + "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/fake" core "k8s.io/client-go/testing" - "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" ) func TestPodAntiAffinity(t *testing.T) { diff --git a/test/test_utils.go b/test/test_utils.go index 5036d634b..8ed64a792 100644 --- a/test/test_utils.go +++ b/test/test_utils.go @@ -19,9 +19,9 @@ package test import ( "fmt" + "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/v1" ) // BuildTestPod creates a test pod with given parameters.